code: public AstNode node( String name,
                           AstNode parent,
                           Object... types ) {
          CheckArg.isNotNull(name, "name");
          CheckArg.isNotNull(parent, "parent");
          CheckArg.isNotEmpty(types, "types");
  
          AstNode node = new AstNode(parent, name);
          node.setProperty(JCR_MIXIN_TYPES, types);
          node.setProperty(JCR_PRIMARY_TYPE, NT_UNSTRUCTURED);
          return node;
      }
docs: Constructs an {@link AstNode} with the given name, types and parent node.
  
  @param name the name property of the node; may not be null
  @param parent the parent of the node; may not be null
  @param types the mixin types; may not be null, but may be empty
  @return the tree node