@Override
  public List<Node> getChildren() {
    if (super.getChildCount() == 0) {
      return null;
    }
    // We know that children always contains Node instances so the cast is safe.
    assert this.children.get(0) instanceof Node;
    @SuppressWarnings("unchecked") // Cast safe by design of the class
    List<Node> nodeList = (List<Node>) (List<?>) this.children;
    return Collections.unmodifiableList(nodeList);
  }
@param t Token for the CommonTree Node
parser/src/java/org/apache/hadoop/hive/ql/parse/ASTNode.java