def _add_nodes(self, features):
        """ Adds a node to the graph for each item in 'features' using
            the GraphNodes from the editor factory.
        """
        graph = self._graph

        if graph is not None:
            for feature in features:
                for graph_node in self.factory.nodes:
                    if feature.__class__ in graph_node.node_for:
                        graph.add_node( id(feature), **graph_node.dot_attr )
                        break

        graph.arrange_all()