public bool MoveBack() { currentCursor = cursors[cursorIndex]; if (!currentCursor.MoveBack()) { // Set to after the end of the previous cursor in the set currentCursor = cursors[--cursorIndex]; cursorOffset = currentCursor.Count; currentCursor.MoveTo(cursorOffset); } return --position > 0; }