<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def run(self, graph, universe=None):
 """Run the contained protocol on a seed graph. :param pybel.BELGraph graph: The seed BEL graph :param pybel.BELGraph universe: Allows just-in-time setting of the universe in case it wasn't set before. Defaults to the given network. :return: The new graph is returned if not applied in-place :rtype: pybel.BELGraph """

        self.universe = universe or graph.copy()
        return self._run_helper(graph.copy(), self.protocol)