protected <E extends Event> void linkCommand(final Node node, final javafx.event.EventType<E> eventType, final Class<? extends Command> commandClass,
            final Callback<E, Boolean> callback,
            final WaveData<?>... waveData) {

        // LinkCommand
        node.addEventHandler(eventType, event -> {
            if (callback == null || callback.call(event)) {
                model().callCommand(commandClass, waveData);
            }
        });
    }
protected < E extends Event > void linkCommand ( final Node node , final javafx . event . EventType < E > eventType , final Class < ? extends Command > commandClass , final Callback < E , Boolean > callback , final WaveData < ? > ... waveData ) { node . addEventHandler ( eventType , event -> { if ( callback == null || callback . call ( event ) ) { model ( ) . callCommand ( commandClass , waveData ) ; } } ) ; }
Link a command to an event triggered on a node.

@param node the node to follow
@param eventType the type of the event to follow
@param commandClass the command to launch
@param callback the call back to use to check if the command can be called
@param waveData additional Wave data

@param <E> The type of JavaFX Event to track