j = ignore(j, "\\end{", "}");
j = ignore(j, "\\end{", "}"); if (i != j){ i = j; continue search; }
  public Word next() {//{{{    if (!hasNext())//currentWord == null)      throw new WordNotFoundException("No more words found.");    currentWord.copy(nextWord);    setSentenceIterator(currentWord);    int i = currentWord.getEnd();    boolean finished = false;    boolean started = false;    search:      while (i < text.length() && !finished) {//{{{ Find words.        if (!started && isWordChar(i)) {          nextWord.setStart(i++);          started = true;          continue search;        } else if (started) {          if (isWordChar(i)) {            i++;            continue search;          } else {            nextWord.setText(text.substring(nextWord.getStart(), i));            finished = true;            break search;          }        }  //}}}// Ignores should be in order of importance and then specificity.        int j = i;// Ignore Comments:        j = ignore(j, '%', '\n');// Ignore Maths:        j = ignore(j, "$$", "$$");//        j = ignore(j, "$", "$");        j = ignore(j, '$', '$');// Ignore user defined.        j = ignoreUserDefined(j);        // Ignore environment names.        j = ignore(j, "\\begin{", "}");        j = ignore(j, "\\end{", "}");// Ignore commands.        j = ignore(j, '\\');                if (i != j){          i = j;          continue search;        }        i++;      }    if (!started) {      nextWord = null;    } else if (!finished) {      nextWord.setText(text.substring(nextWord.getStart(), i));    }    return currentWord;  }