Replaces this node with a new node of the provided version number, and attempts to rebuild edges where possible with matching vertex names that share the same DataType. Returns a node handle to the new node. If operation fails, returns a handle to this node.