/** Finds a new connectableConnector of the connection. */
 public void trackStep(Point anchor, Point lead, int modifiersEx) {
   Point2D.Double p = view.viewToDrawing(lead);
   view.getConstrainer().constrainPoint(p);
   connectableFigure = findConnectableFigure(p, view.getDrawing());
   if (connectableFigure != null) {
     Connector aTarget = findConnectionTarget(p, view.getDrawing());
     if (aTarget != null) {
       p = aTarget.getAnchor();
     }
   }
   getOwner().willChange();
   setLocation(p);
   getOwner().changed();
   repaintConnectors();
 }