code: @Override
      public int first() {
          fCachedBreakPositions = null;
          fDictionaryCharCount = 0;
          fPositionInCache = 0;
          fLastRuleStatusIndex  = 0;
          fLastStatusIndexValid = true;
          if (fText == null) {
              return BreakIterator.DONE;
          }
          fText.first();
          return fText.getIndex();
      }
docs: Sets the current iteration position to the beginning of the text.
  (i.e., the CharacterIterator's starting offset).
  @return The offset of the beginning of the text.