Adds a new :class:`TraversalPathNode` constructed from the given
        arguments to this traversal path.

def push(self, proxy, key, attribute, relation_operation):
        """
        Adds a new :class:`TraversalPathNode` constructed from the given
        arguments to this traversal path.
        """
        node = TraversalPathNode(proxy, key, attribute, relation_operation)
        self.nodes.append(node)
        self.__keys.add(key)