BlockDepartureVertex toVertex = new BlockDepartureVertex(_context, instance);
EdgeNarrative narrative = narrative(s0, fromVertex, toVertex);
OBAStateEditor edit = (OBAStateEditor) s0.edit(this, narrative);
edit.setTime(departureTime);
edit.incrementNumBoardings();
edit.setEverBoarded(true);
int dwellTime = (int) ((departureTime - time) / 1000);
double w = ItineraryWeightingLibrary.computeWeightForWait(s0, dwellTime);