### Question:
Cursor { public void rewind(int count) { checkArgument(count >= 0); for (int x = 0; x < count; ++x) { rewind(); } } Cursor(TextSegment segment); int getOffset(); int getOffset(int cursorOffset); int toCursorOffset(int documentOffset); char getChar(); char getChar(int offset); boolean hasChar(); String getText(int offset, int endIndex); char getPrevious(); boolean hasPrevious(); boolean hasPrevious(int offset); char getPrevious(int offset); char getNext(); char getNext(int offset); String getTextAtOffset(); String getTextAtOffset(int length); boolean hasNext(); boolean hasNext(int offset); Matcher matcher(Pattern pattern); Matcher matcher(int offset, Pattern pattern); void advance(); void advance(int count); void rewind(int count); void rewind(); Line getLineAtOffset();  }### Answer:
@Test public void rewind() { Cursor cursor = new Cursor(createTextSegment("1\n23")); cursor.advance(2); assertEquals('2', cursor.getChar()); cursor.rewind(); assertEquals('\n', cursor.getChar()); cursor.rewind(); assertEquals('1', cursor.getChar()); cursor.advance(3); assertEquals('3', cursor.getChar()); cursor.rewind(3); assertEquals('1', cursor.getChar()); }