private Token nextToken() {
    if (myTokenQueue.size() > 0) {
      return myTokenQueue.removeFirst();
    }

    final Token t = myLexer.getNextToken();
    if (t.specialToken != null) {
      myTokenQueue.addFirst(t);
      for (Token s = t.specialToken; s != null; s = s.specialToken) {
        myTokenQueue.addFirst(s);
      }
      return myTokenQueue.removeFirst();
    } else {
      return t;
    }
  }
private Token nextToken()