public void addToken(Token t)
   {

      if (t.getType() == Token.TokenType.COMMENT)
      {
         //do nothing, just what comments do.
      }
      else if (t.getType() == Token.TokenType.L_PAREN)
      {
         if (parentStack.size() == 0)
         {
            root = new Node();
            currentNode = parentStack.push(root);
            definitions.add(root);
         }
         else
         {
            currentNode.leftChild = new Node();
            parentStack.push(currentNode);
            currentNode = currentNode.leftChild;
         }
      }
      else if (t.getType() == Token.TokenType.R_PAREN)
      {
         currentNode = parentStack.pop();
         if (!(definitions.get(definitions.size() - 1) == currentNode))
         {
            currentNode.rightChild = new Node();
            currentNode = currentNode.rightChild;
         }
      }
      else
      {
         currentNode.value = t.getValue();
         currentNode.rightChild = new Node();
         currentNode = currentNode.rightChild;
      }
      //printTreeTest();
   }