docs: public boolean canConsume( String[] nextTokens ) throws IllegalStateException {
          if (completed) return false;
          ListIterator<Token> iter = tokens.listIterator(tokenIterator.previousIndex());
          Token token = null;
          for (String nextExpected : nextTokens) {
              if (!iter.hasNext()) return false;
              token = iter.next();
              if (nextExpected == ANY_VALUE) continue;
              if (!token.matches(nextExpected)) return false;
          }
          this.tokenIterator = iter;
          this.currentToken = tokenIterator.hasNext() ? tokenIterator.next() : null;
          this.completed = this.currentToken == null;
          return true;
      }