def [](path)
      first, *rest_path = path.split("/")  
      obj = case first
      when nil
        if path == "/"
          root
        elsif path == ""
          self
        end
      when ""
        root
      when ".."
        parent
      when "."
        self
      else
        children[first.to_sym]
      end

      return nil if obj.nil?
      if rest_path.size > 0
        obj[rest_path.join("/")]
      else
        obj
      end
    end
def [](path)
      first, *rest_path = path.split("/")  
      obj = case first
      when nil
        if path == "/"
          root
        elsif path == ""
          self
        end
      when ""
        root
      when ".."
        parent
      when "."
        self
      else
        children[first.to_sym]
      end

      return nil if obj.nil?
      if rest_path.size > 0
        obj[rest_path.join("/")]
      else
        obj
      end
    end
Accessor for node by path in Unix style
 @param [String] path nodes
 @return [Node] node

 @example
   dir_2["dir_1/dir_2/searched_obj"]
   dir_2["searched_obj"]
   dir_2["./searched_obj"]
   dir_2["../dir_2/searched_obj"]