class WiresConnectorView extends WiresConnector implements
        LienzoShapeView<T>,
        IsConnector<T>,
        HasManageableControlPoints<T> {

    @Override
    public ControlPoint[] getManageableControlPoints() {
        final Point2DArray controlPoints = getControlPoints();
        if (null != controlPoints && controlPoints.size() > 2) {
            // Notice first and last CP from lienzo's connector are discarded,
            // as they're considered the Connection's on Stunner side, so not
            // part of the model's ControlPoint array.
            return StreamSupport.stream(controlPoints.spliterator(), false)
                    .limit(controlPoints.size() - 1)
                    .skip(1)
                    .map(controlPoint -> ControlPoint.build(controlPoint.getX(),
                                                            controlPoint.getY()))
                    .toArray(ControlPoint[]::new);
        }
        return new ControlPoint[0];
    }

    public  WiresConnectorView(final AbstractDirectionalMultiPointShape<?> line,
                              final MultiPathDecorator headDecorator,
                              final MultiPathDecorator tailDecorator);
    public  WiresConnectorView(final WiresMagnet headMagnet,
                              final WiresMagnet tailMagnet,
                              final AbstractDirectionalMultiPointShape<?> line,
                              final MultiPathDecorator headDecorator,
                              final MultiPathDecorator tailDecorator);

}