int nmax = next.getMaximumLength(); if (nmax < Integer.MAX_VALUE && maximumLength < Integer.MAX_VALUE) maximumLength += nmax; else maximumLength = Integer.MAX_VALUE;
  private void addToken(REToken next) {    if (next == null) return;    minimumLength += next.getMinimumLength();    if (firstToken == null) {	lastToken = firstToken = next;    } else {      // if chain returns false, it "rejected" the token due to      // an optimization, and next was combined with lastToken      if (lastToken.chain(next)) {	  lastToken = next;      }    }  }