class AstNode implements Iterable<AstNode>, Cloneable {

    @Override
    public Iterator<AstNode> iterator() {
        return childrenView.iterator();
    }

      AstNode( String name );
    public  AstNode( AstNode parent,
                    String name );

}