/** Finds a new target of the connection. */
  public void invokeStep(int x, int y, int anchorX, int anchorY, DrawingView view) {
    Point p = new Point(x, y);
    Figure f = findConnectableFigure(x, y, view.drawing());
    // track the figure containing the mouse
    if (f != getTargetFigure()) {
      if (getTargetFigure() != null) {
        getTargetFigure().connectorVisibility(false);
      }
      setTargetFigure(f);
      if (getTargetFigure() != null) {
        getTargetFigure().connectorVisibility(true);
      }
    }

    Connector target = findConnectionTarget(p.x, p.y, view.drawing());
    if (target != null) {
      p = Geom.center(target.displayBox());
    }
    setPoint(p.x, p.y);
  }