} else {
step.setDirections(previous.angle, thisAngle, false);
}
// new step, set distance to length of first edge
distance = edge.getDistance();
} else if (((step.streetName != null && !step.streetNameNoParens().equals(streetNameNoParens))
&& (!step.bogusName || !edge.hasBogusName())) ||
// if we are on a roundabout now and weren't before, start a new step
edge.isRoundabout() != (roundaboutExit > 0) ||
isLink(edge) && !isLink(backState.getBackEdge())
) {