code: @Override
      public final void listen(final WaveChecker waveChecker, final Method method, final WaveType... waveTypes) {
  
          // Check API compliance
          if (!this.processUncaughtWave) {
              CheckerUtility.checkWaveTypeContract(this.getClass(), waveTypes);
          }
  
          final Component<?> waveReady = this;
  
          LOGGER.trace(LinkMessages.LISTEN_WAVE_TYPE, getWaveTypesString(waveTypes), waveReady.getClass().getSimpleName());
  
          // Use the JRebirth Thread to add new subscriptions for given Wave Type
          JRebirth.runIntoJIT(LISTEN_WAVE_TYPE.getText(getWaveTypesString(waveTypes), waveReady.getClass().getSimpleName()),
                              () -> getNotifier().listen(waveReady, waveChecker, method, waveTypes));
      }
docs: {@inheritDoc}