docs: @Override
      @SuppressWarnings("PMD.NcssCount")
      public void invoke(EventBase<?> event) throws Throwable {
          if (component == ComponentTree.DUMMY_HANDLER) {
              reportInvocation(event, false);
              return;
          }
          long invocation;
          switch (method.type().parameterCount()) {
          case 0:
              // No parameters
              invocation = reportInvocation(event, false);
              method.invoke();
              reportResult(event, invocation);
              break;
  
          case 1:
              // Event parameter
              invocation = reportInvocation(event, false);
              method.invoke(event);
              reportResult(event, invocation);
              break;
  
          case 2:
              // Event and channel
              Class<?> channelParam = method.type().parameterType(1);
              boolean handlerFound = false;
              for (Channel channel : event.channels()) {
                  if (channelParam.isAssignableFrom(channel.getClass())) {
                      handlerFound = true;
                      invocation = reportInvocation(event, false);
                      method.invoke(event, channel);
                      reportResult(event, invocation);
                  }
              }
              if (!handlerFound) {
                  reportInvocation(event, true);
              }
              break;
  
          default:
              throw new IllegalStateException("Handle not usable");
          }
      }