private State traverseForward(State s0) {
EdgeNarrative narrative = createNarrative(s0, s0.getTime());
StateEditor edit = s0.edit(this, narrative);
TraverseOptions options = s0.getOptions();
int transferTime = computeTransferTime(options);
edit.setTime(_instance.getBestArrivalTime());
double weight = computeWeightForTransferTime(options, transferTime);
edit.incrementWeight(weight);