code: public Set<GraphObject> run()
  	{
  		for (GraphObject go : new HashSet<GraphObject>(result))
  		{
  			if (go instanceof Node)
  			{
  				checkNodeRecursive((Node) go);
  			}
  		}
  		return result;
  	}
docs: Executes the algorithm.
  @return the pruned graph