docs: public static CommunicationMode communicationMode(Method method) {
      Class<?> returnType = method.getReturnType();
      if (isRequestChannel(method)) {
        return REQUEST_CHANNEL;
      } else if (returnType.isAssignableFrom(Flux.class)) {
        return REQUEST_STREAM;
      } else if (returnType.isAssignableFrom(Mono.class)) {
        return REQUEST_RESPONSE;
      } else if (returnType.isAssignableFrom(Void.TYPE)) {
        return FIRE_AND_FORGET;
      } else {
        throw new IllegalArgumentException(
            "Service method is not supported (check return type or parameter type): " + method);
      }
    }