code: private int calculatePositionViaBreakingForwards(int numOfBreaks, BreakIterator breakIterator, int position) {
          breakIterator.following(position);
          for (int i = 1; i < numOfBreaks; i++) {
              breakIterator.next(numOfBreaks);
          }
          return breakIterator.current();
      }
docs: Assumes that {@code getArea().getLength != 0} is true and {@link BreakIterator#setText(String)} has been called