code: def open(self, path):
          
          self.current.append(self.create(path))
          return self.current[-1]
docs: Creates and enters the given node, regardless of whether it already
          exists.
          Returns the new node.