Find upgrade end-points (i.e nodes without dependents).

def find_endpoints(self):
        """Find upgrade end-points (i.e nodes without dependents)."""
        plugins = self._load_upgrades(remove_applied=False)

        dummy_graph_incoming, graph_outgoing = self._create_graph(plugins, {})

        endpoints = {}
        for node, outgoing in six.iteritems(graph_outgoing):
            if not outgoing:
                repository = plugins[node].repository
                if repository not in endpoints:
                    endpoints[repository] = []
                endpoints[repository].append(node)

        return endpoints