if(step1.isManeuver()) { int stepIndex = steps.size() - 1; while (steps.size() > 0 && steps.get(stepIndex).isManeuver()) { steps.removeElementAt(stepIndex); stepIndex--;
if (isManeuver()) { return true;
} else if (step.getManeuverType() != ManeuverType.MAN_NONE) { step = new MoveStep(this, step.getType(), -1, -1, step.getManeuverType()); } else if (step.isManeuver()) { step = new MoveStep(this, step.getType(), step.hasNoCost(), step.isManeuver()); } else if (step.hasNoCost()) { step = new MoveStep(this, step.getType(), step.hasNoCost());