Returns the exact, authentic node name for the given node name if a node corresponding to
        the given name exists in the graph (maybe not locally yet) or `None` otherwise.

        By default, this method checks whether a node with the given name exists locally in the
        graph and return `node_name` if it does or `None` otherwise.

        In `Graph` extensions that are used by applications where the user can enter potentially
        incorrect node names, this method should be overridden to improve usability.

        Arguments:
            node_name (str): The node name to return the authentic node name for.

        Returns:
            The authentic name of the node corresponding to the given node name or
            `None` if no such node exists.

def get_authentic_node_name(self, node_name: str) -> Optional[str]:
        """
        Returns the exact, authentic node name for the given node name if a node corresponding to
        the given name exists in the graph (maybe not locally yet) or `None` otherwise.

        By default, this method checks whether a node with the given name exists locally in the
        graph and return `node_name` if it does or `None` otherwise.

        In `Graph` extensions that are used by applications where the user can enter potentially
        incorrect node names, this method should be overridden to improve usability.

        Arguments:
            node_name (str): The node name to return the authentic node name for.

        Returns:
            The authentic name of the node corresponding to the given node name or
            `None` if no such node exists.
        """
        node: Node = self._nodes.get_node_by_name(node_name)
        return node.name if node is not None else None