class LocationControlImpl extends AbstractCanvasHandlerRegistrationControl<AbstractCanvasHandler> implements LocationControl<AbstractCanvasHandler, Element>,
                   CanvasControl.SessionAware<EditorSession> {

    @SuppressWarnings("unchecked")
    private static void ensureDragConstraints(final AbstractCanvas<?> canvas,
                                              final ShapeView shapeView) {
        final Bounds bounds = canvas.getView().getPanel().getLocationConstraints();
        ShapeUtils.enforceLocationConstraints(shapeView,
                                              bounds);
    }

    protected  LocationControlImpl();
    @Inject public  LocationControlImpl(final CanvasCommandFactory<AbstractCanvasHandler> canvasCommandFactory,
                               final Event<ShapeLocationsChangedEvent> shapeLocationsChangedEvent,
                               final Event<CanvasSelectionEvent> selectionEvent);

}