public ConnectorGraphicalRepresentation(
      ConnectorType aConnectorType,
      ShapeGraphicalRepresentation<?> aStartObject,
      ShapeGraphicalRepresentation<?> anEndObject,
      O aDrawable,
      Drawing<?> aDrawing) {
    super(aDrawable, aDrawing);

    layer = FGEConstants.DEFAULT_CONNECTOR_LAYER;

    setStartObject(aStartObject);
    setEndObject(anEndObject);
    setConnectorType(aConnectorType);
    graphics = new FGEConnectorGraphics(this);

    foreground = ForegroundStyle.makeStyle(Color.BLACK);
    // foreground.setGraphicalRepresentation(this);
    foreground.addObserver(this);

    addToMouseClickControls(
        MouseClickControl.makeMouseClickControl(
            "Selection", MouseButton.LEFT, 1, MouseClickControlActionType.SELECTION));
    if (ToolBox.getPLATFORM() == ToolBox.MACOS) {
      addToMouseClickControls(
          MouseClickControl.makeMouseMetaClickControl(
              "Multiple selection",
              MouseButton.LEFT,
              1,
              MouseClickControlActionType.MULTIPLE_SELECTION));
    } else {
      addToMouseClickControls(
          MouseClickControl.makeMouseControlClickControl(
              "Multiple selection",
              MouseButton.LEFT,
              1,
              MouseClickControlActionType.MULTIPLE_SELECTION));
    }
  }