code: @Override
      public List<KeyedMessageWithType> invoke(final T instance, final KeyedMessage message) throws DempsyException {
  
          if (!isMessageSupported(message.message))
              throw new IllegalArgumentException(mpClassName + ": no handler for messages of type: " + message.message.getClass().getName());
  
          final Object returnValue = wrap(() -> invocationMethods.invokeMethod(instance, message.message));
          return returnValue == null ? null : convertToKeyedMessage(returnValue);
  
      }
docs: Invokes the appropriate message handler of the passed instance. Caller is responsible for not passing <code>null</code> messages.