@Override
public int terminalFor(State state) {
Vertex v = state.getVertex();
if (v instanceof StreetVertex || v instanceof StreetLocation) {
TraverseModeSet modes = state.getOptions().modes;
if (modes.contains(TraverseMode.BICYCLE)
&& (!modes.contains(TraverseMode.WALK) || !state.isBikeRenting())) {
Edge edge = state.getBackEdge();
if (edge instanceof StreetEdge) {
int cls = ((StreetEdge) edge).getStreetClass();
return cls & StreetEdge.CROSSING_CLASS_MASK;
} else {