public <T> GrpcServiceBuilder addService(
            T implementation,
            Function<? super T, ServerServiceDefinition> serviceDefinitionFactory) {
        return addService(implementation, serviceDefinitionFactory, ImmutableList.of());
    }
Adds an implementation of gRPC service to this {@link GrpcServiceBuilder}.
Most gRPC service implementations are {@link BindableService}s.
This method is useful in cases like the followings.

<p>Used for ScalaPB gRPC stubs

<pre>{@code
GrpcService.builder()
           .addService(new HelloServiceImpl,
                       HelloServiceGrpc.bindService(_,
                                                    ExecutionContext.global))}
</pre>

<p>Used for intercepted gRPC-Java stubs
<pre>{@code
GrpcService.builder()
           .addService(new TestServiceImpl,
                       impl -> ServerInterceptors.intercept(impl, interceptors));
}</pre>
grpc/src/main/java/com/linecorp/armeria/server/grpc/GrpcServiceBuilder.java