public void printTree(ParseTreeNode<ITreeNode> node,  StreamWriter someStream)
 {
     if (node.getLeft() != null)
     {
         node.getLeft().printPTreeNode(someStream);
         printTree(node.getLeft(), someStream);
     }
     if (node.getRight() != null)
     {
         node.getRight().printPTreeNode(someStream);
         printTree(node.getRight(), someStream);
     }
 }
 private ParseTreeNode<ITreeNode> jumpToLabel(ParseTreeNode<ITreeNode> curNode, String label)
 {
     ILabelNode sdf = new LabelNode("");
     if (curNode.getComponentType() == LexemeType.LABELED_BLOCK)
     {
          sdf = (ILabelNode)curNode.getComponent();
          if (sdf.getLabel() == label)
          {
              return curNode;
          }
          else
          {
              return jumpToLabel(curNode.getRight(), label);
          }
     }
     else
     {
         return jumpToLabel(curNode.getRight(), label);
     }
 }