code: protected <E extends Event> void linkWave(final Node node, final javafx.event.EventType<E> eventType, final WaveType waveType, final Callback<E, Boolean> callback,
              final WaveData<?>... waveData) {
  
          node.addEventHandler(eventType, new AbstractNamedEventHandler<E, EventAdapter>("LinkWave", null) {
  
              /**
               * Handle the triggered event.
               */
              @Override
              public void handle(final E event) {
                  if (callback == null || callback.call(event)) {
                      model().sendWave(waveType, waveData);
                  }
              }
          });
      }
docs: Link the creation of a wave to an event triggered on a node.
  
  @param node the node to follow
  @param eventType the type of the event to follow
  @param waveType the type of the wave to create
  @param callback the call back to use to check if the wave can be sent
  @param waveData additional Wave data
  
  @param <E> The type of JavaFX Event to track