Vertex target = options.isArriveBy() ? fromVertex : toVertex;
State init = new OBAState(time.getTime(), origin, options);
options.remainingWeightHeuristic = new TPRemainingWeightHeuristicImpl();
GenericAStar search = new GenericAStar();
search.setSkipTraverseResultStrategy(new SkipVertexImpl());
search.setSearchTerminationStrategy(new SearchTerminationStrategyImpl());
search.setShortestPathTreeFactory(TripSequenceShortestPathTree.FACTORY);
ShortestPathTree spt = search.getShortestPathTree(graph, init, target);
return spt.getPaths(target, true);
}