def root *args, &block
      return @root if args.empty?
      node = args[0]
      @asks_allow_children = args[1]
      if !node.is_a? TreeNode
        n = TreeNode.new node
        node = n
      end
      @root = node
      $log.debug " XXX def root created root with #{node} "
      #add node, true, &block 
      instance_eval &block if block_given?
    end
def root *args, &block
      return @root if args.empty?
      node = args[0]
      @asks_allow_children = args[1]
      if !node.is_a? TreeNode
        n = TreeNode.new node
        node = n
      end
      @root = node
      $log.debug " XXX def root created root with #{node} "
      #add node, true, &block 
      instance_eval &block if block_given?
    end
insert a node the old sucky java pain in the butt way
 private
 sets node as root
def root node, asks_allow_children=false, &block