// Final WALK check prevents infinite recursion.
if (s0.isCarParked() && s0.isEverBoarded() && currMode == TraverseMode.WALK) {
editor = doTraverse(s0, options, TraverseMode.CAR);
if (editor != null) {
editor.setCarParked(false); // Also has the effect of switching to CAR
State forkState = editor.makeState();
if (forkState != null) {
forkState.addToExistingResultChain(state);
return forkState; // return both parked and unparked states
}
}