code: @ConditionalOnClass(name = {"io.grpc.netty.shaded.io.netty.channel.Channel",
              "io.grpc.netty.shaded.io.grpc.netty.NettyServerBuilder"})
      @Bean
      public ShadedNettyGrpcServerFactory shadedNettyGrpcServerFactory(final GrpcServerProperties properties,
              final GrpcServiceDiscoverer serviceDiscoverer, final List<GrpcServerConfigurer> serverConfigurers) {
          final ShadedNettyGrpcServerFactory factory = new ShadedNettyGrpcServerFactory(properties, serverConfigurers);
          for (final GrpcServiceDefinition service : serviceDiscoverer.findGrpcServices()) {
              factory.addService(service);
          }
          return factory;
      }
docs: Creates a GrpcServerFactory using the shaded netty. This is the recommended default for gRPC.
  
  @param properties The properties used to configure the server.
  @param serviceDiscoverer The discoverer used to identify the services that should be served.
  @param serverConfigurers The server configurers that contain additional configuration for the server.
  @return The shadedNettyGrpcServerFactory bean.