code: @Override
    public <TEvent> void onNext(final long identifier, final TEvent event)
        throws IllegalAccessException, InvocationTargetException {
  
      // Get the reflection method for this call.
      final Method onNext = methodMap.get(event.getClass().getName());
      if (onNext != null) {
        // Process the event.
        onNext.invoke(this, identifier, event);
      } else {
        // Log the unprocessed event.
        unimplemented(identifier, event);
      }
    }
docs: Generic event onNext method in the base interface which maps the call to a concrete
  event onNext method in TSubCls if one exists otherwise unimplemented is invoked.
  @param event An event of type TEvent which will be sent to TSubCls as appropriate.
  @param <TEvent> The type of the event being processed.