text: public override void Back(int delta){if (delta == 1 && 0 <= prevPtr){currPtr = prevPtr;prevPtr = -1;if (!Eof){ParseEntry();}return;}else{if (delta <= 0){throw Sharpen.Extensions.CreateIndexOutOfRangeException(delta);}}int[] trace = new int[delta + 1];Arrays.Fill(trace, -1);int ptr = 0;while (ptr != currPtr){System.Array.Copy(trace, 1, trace, 0, delta);trace[delta] = ptr;while (raw[ptr] != 0){ptr++;}ptr += Constants.OBJECT_ID_LENGTH + 1;}if (trace[1] == -1){throw Sharpen.Extensions.CreateIndexOutOfRangeException(delta);}prevPtr = trace[0];currPtr = trace[1];ParseEntry();}