@Override public int following(int offset){
  CharacterIterator text=getText();
  checkOffset(offset,text);
  text.setIndex(offset);
  if (offset == text.getBeginIndex()) {
    cachedLastKnownBreak=handleNext();
    return cachedLastKnownBreak;
  }
  int result=cachedLastKnownBreak;
  if (result >= offset || result <= BreakIterator.DONE) {
    result=handlePrevious();
  }
 else {
    text.setIndex(result);
  }
  while (result != BreakIterator.DONE && result <= offset) {
    result=handleNext();
  }
  cachedLastKnownBreak=result;
  return result;
}

@ Override public int following ( int offset ) { CharacterIterator text = getText ( ) ; checkOffset ( offset , text ) ; text . setIndex ( offset ) ; if ( offset == text . getBeginIndex ( ) ) { cachedLastKnownBreak = handleNext ( ) ; return cachedLastKnownBreak ; } int result = cachedLastKnownBreak ; if ( result >= offset || result <= BreakIterator . DONE ) { result = handlePrevious ( ) ; } else { text . setIndex ( result ) ; } while ( result != BreakIterator . DONE && result <= offset ) { result = handleNext ( ) ; } cachedLastKnownBreak = result ; return result ; }
sets the iterator to refer to the first boundary position following the specified position .
