code: public static ServerServiceDefinition intercept(ServerServiceDefinition serviceDef,
                                                    List<? extends ServerInterceptor> interceptors) {
      Preconditions.checkNotNull(serviceDef, "serviceDef");
      if (interceptors.isEmpty()) {
        return serviceDef;
      }
      ServerServiceDefinition.Builder serviceDefBuilder
          = ServerServiceDefinition.builder(serviceDef.getServiceDescriptor());
      for (ServerMethodDefinition<?, ?> method : serviceDef.getMethods()) {
        wrapAndAddMethod(serviceDefBuilder, method, interceptors);
      }
      return serviceDefBuilder.build();
    }
docs: Create a new {@code ServerServiceDefinition} whose {@link ServerCallHandler}s will call
  {@code interceptors} before calling the pre-existing {@code ServerCallHandler}. The last
  interceptor will have its {@link ServerInterceptor#interceptCall} called first.
  
  @param serviceDef   the service definition for which to intercept all its methods.
  @param interceptors list of interceptors to apply to the service.
  @return a wrapped version of {@code serviceDef} with the interceptors applied.