<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _create_node(self, index: int, name: str, external_id: Optional[str] = None) -> SpotifyArtistNode: """ Returns a new `SpotifyArtistNode` instance with the given index and name. Arguments: index (int):
 The index of the node to create. name (str):
 The name of the node to create. external_id (Optional[str]):
 The external ID of the node. """

        if external_id is None:
            graph: SpotifyArtistGraph = self._graph
            items: List[NameExternalIDPair] = graph.client.search_artists_by_name(name)
            for item in items:
                if item.name == name:
                    external_id = item.external_id
                    break

        return SpotifyArtistNode(graph=self._graph, index=index, name=name, external_id=external_id)