def find_event_with_outgoing_edges(self, event_name, desired_relations):
        """Gets a list of event nodes with the specified event_name and
        outgoing edges annotated with each of the specified relations.

        Parameters
        ----------
        event_name : str
            Look for event nodes with this name
        desired_relations : list[str]
            Look for event nodes with outgoing edges annotated with each of
            these relations

        Returns
        -------
        event_nodes : list[str]
            Event nodes that fit the desired criteria
        """

        G = self.G
        desired_relations = set(desired_relations)

        desired_event_nodes = []

        for node in G.node.keys():
            if G.node[node]['is_event'] and G.node[node]['type'] == event_name:
                has_relations = [G.edges[node, edge[1]]['relation'] for
                                 edge in G.edges(node)]
                has_relations = set(has_relations)
                # Did the outgoing edges from this node have all of the
                # desired relations?
                if desired_relations.issubset(has_relations):
                    desired_event_nodes.append(node)
        return desired_event_nodes