@Override
  public String toStringTree() {

    // The root might have changed because of tree modifications.
    // Compute the new root for this tree and set the astStr.
    getRootNodeWithValidASTStr();

    // If rootNotModified is false, then startIndx and endIndx will be stale.
    if (startIndx >= 0 && endIndx <= rootNode.getMemoizedStringLen()) {
      return rootNode.getMemoizedSubString(startIndx, endIndx);
    }
    return toStringTree(rootNode);
  }
Tag this ASTNode with information about the object from which this node
originated.
parser/src/java/org/apache/hadoop/hive/ql/parse/ASTNode.java