code: public static Set<BioPAXElement> runPathsBetween(Set<BioPAXElement> sourceSet, Model model,
  		int limit, Filter... filters)
  	{
  		Graph graph;
  
  		if (model.getLevel() == BioPAXLevel.L3)
  		{
  			graph = new GraphL3(model, filters);
  		}
  		else return Collections.emptySet();
  
  		Collection<Set<Node>> sourceWrappers = prepareNodeSets(sourceSet, graph);
  
  		if (sourceWrappers.size() < 2) return Collections.emptySet();
  
  		PathsBetweenQuery query = new PathsBetweenQuery(sourceWrappers, limit);
  		Set<GraphObject> resultWrappers = query.run();
  		return convertQueryResult(resultWrappers, graph, true);
  	}
docs: Gets the graph constructed by the paths between the given seed nodes. Does not get paths
  between physical entities that belong the same entity reference.
  @param sourceSet Seed to the query
  @param model BioPAX model
  @param limit Length limit for the paths to be found
  @param filters optional filters - for filtering graph elements
  @return BioPAX elements in the result