/*
  * @see java.text.BreakIterator#preceding(int)
  */
 public int preceding(int offset) {
   int first = fIterator.preceding(offset);
   if (isWhitespace(first, offset)) {
     int second = fIterator.preceding(first);
     if (second != DONE && !isDelimiter(second, first)) return second;
   }
   return first;
 }
 /*
  * @see java.text.BreakIterator#following(int)
  */
 public int following(int offset) {
   int first = fIterator.following(offset);
   if (eatFollowingWhitespace(offset, first)) {
     int second = fIterator.following(first);
     if (isWhitespace(first, second)) return second;
   }
   return first;
 }
 /*
  * @see java.text.BreakIterator#last()
  */
 public int last() {
   fIndex = fIterator.last();
   return fIndex;
 }
 /*
  * @see java.text.BreakIterator#first()
  */
 public int first() {
   fIndex = fIterator.first();
   return fIndex;
 }
 /*
  * @see java.text.BreakIterator#setText(java.text.CharacterIterator)
  */
 public void setText(CharacterIterator newText) {
   fIterator.setText(newText);
   first();
 }
 /**
  * Sets the text as <code>CharSequence</code>.
  *
  * @param newText the new text
  */
 public void setText(CharSequence newText) {
   fIterator.setText(newText);
   first();
 }
 /*
  * @see java.text.BreakIterator#getText()
  */
 public CharacterIterator getText() {
   return fIterator.getText();
 }