code: @Override
      public void moveBreaksForwards(int numOfBreaks, BreakIterator breakIterator) {
          if (getAreaLength() == 0) {
              return;
          }
  
          breakIterator.setText(getArea().getText());
          int position = calculatePositionViaBreakingForwards(numOfBreaks, breakIterator, getPosition());
          moveTo(position, NavigationActions.SelectionPolicy.CLEAR);
      }
docs: caret