code: public <T extends Service<HttpRequest, HttpResponse>, R extends Service<HttpRequest, HttpResponse>>
      ServerBuilder decorator(Function<T, R> decorator) {
  
          requireNonNull(decorator, "decorator");
  
          @SuppressWarnings("unchecked")
          final Function<Service<HttpRequest, HttpResponse>, Service<HttpRequest, HttpResponse>> castDecorator =
                  (Function<Service<HttpRequest, HttpResponse>, Service<HttpRequest, HttpResponse>>) decorator;
  
          if (this.decorator != null) {
              this.decorator = this.decorator.andThen(castDecorator);
          } else {
              this.decorator = castDecorator;
          }
  
          return this;
      }
docs: Decorates all {@link Service}s with the specified {@code decorator}.
  
  @param decorator the {@link Function} that decorates a {@link Service}
  @param <T> the type of the {@link Service} being decorated
  @param <R> the type of the {@link Service} {@code decorator} will produce