def parse(self, data):
        """
        Converts a CNML structure to a NetworkX Graph object
        which is then returned.
        """
        graph = self._init_graph()
        # loop over links and create networkx graph
        # Add only working nodes with working links
        for link in data.get_inner_links():
            if link.status != libcnml.libcnml.Status.WORKING:
                continue
            interface_a, interface_b = link.getLinkedInterfaces()
            source = interface_a.ipv4
            dest = interface_b.ipv4
            # add link to Graph
            graph.add_edge(source, dest, weight=1)
        return graph
Converts a CNML structure to a NetworkX Graph object
        which is then returned.