runState.spt = new MultiShortestPathTree(runState.options);
//runState.spt = new EarliestArrivalShortestPathTree(options); //MultiShortestPathTree(runState.options);
runState.heuristic = options.batch ?
new TrivialRemainingWeightHeuristic() : runState.rctx.remainingWeightHeuristic;
// Since initial states can be multiple, heuristic cannot depend on the initial state.
runState.heuristic.initialize(runState.options, runState.rctx.origin, runState.rctx.target,
abortTime);
if (abortTime < Long.MAX_VALUE && System.currentTimeMillis() > abortTime) {