code: public static boolean useDynamicProtoMessage(Class<?> protoClass) {
      return protoClass == null || protoClass.getCanonicalName().equals(DynamicMessage.class.getCanonicalName());
    }
docs: For a configured protoClass, should the message be dynamic or is it a pre-generated Message class? If protoClass is
  null or set to DynamicMessage.class, then the configurer intends for a dynamically generated protobuf to be used.