int dy = Integer.signum(endPoint.y - startPoint.y) * ILayoutConstants.connectionRadius();
// can be simplified but becomes unreadable
if (((BendConstraint) constraint).isConvex()) {
if (((BendConstraint) constraint).isStart()) {
points.addPoint(startPoint.x - dx, startPoint.y + dy);
points.addPoint(startPoint.x - dx, endPoint.y - dy);
points.addPoint(startPoint.x , endPoint.y);
} else {
points.addPoint(endPoint.x, startPoint.y);
points.addPoint(endPoint.x + dx, startPoint.y + dy);
points.addPoint(endPoint.x + dx, endPoint.y - dy);