@Override
 protected Request createSourceRequest() {
   BendpointRequest request = new SnapBendpointRequest();
   request.setType(getType());
   request.setIndex(getIndex());
   request.setSource(getConnectionEditPart());
   return request;
 }
  @Override
  protected void updateSourceRequest() {
    // snap-to-grid patch
    Point pt = getLocation();

    // Check whether snap enabled and whether user is holding down modifier key
    if (isSnapToGridEnabled() && !getCurrentInput().isModKeyDown(MODIFIER_NO_SNAPPING)) {
      setNearestSnapPoint(pt, getSnapGridSize());
    }

    BendpointRequest request = (BendpointRequest) getSourceRequest();
    request.setLocation(pt);
  }