// TODO assure priority for lane changes from slow to fast lanes
for (final LaneSegment laneSegment : laneSegments) {
assert laneSegment.assertInvariant();
for (Iterator<Vehicle> vehIterator = laneSegment.iterator(); vehIterator.hasNext();) {
Vehicle vehicle = vehIterator.next();
assert vehicle.roadSegmentId() == id;
if (vehicle.considerLaneChange(dt, this)) {
final int targetLane = vehicle.getTargetLane();
assert targetLane != Lanes.NONE;
assert laneSegments[targetLane - 1].type() != Lanes.Type.ENTRANCE;
// iteratorRemove avoids ConcurrentModificationException