PrecisionPoint endPoint = new PrecisionPoint(conn.getTargetAnchor().getLocation(ref2));
conn.translateToRelative(endPoint);
DoublePoint p1, p2, p3, p4;
p1 = new DoublePoint(startPoint.preciseX(), startPoint.preciseY());
p4 = new DoublePoint(endPoint.preciseX(), endPoint.preciseY());
double dist = PathUtil.dist(p1, p4) / 3;
if (dist < MIN_CONTROLPT_DIST)
dist = MIN_CONTROLPT_DIST;
if (dist > MAX_CONTROLPT_DIST)
dist = MAX_CONTROLPT_DIST;