code: public B service(ServiceWithPathMappings<HttpRequest, HttpResponse> serviceWithPathMappings,
                       Iterable<Function<? super Service<HttpRequest, HttpResponse>,
                               ? extends Service<HttpRequest, HttpResponse>>> decorators) {
          requireNonNull(serviceWithPathMappings, "serviceWithPathMappings");
          requireNonNull(serviceWithPathMappings.pathMappings(), "serviceWithPathMappings.pathMappings()");
          requireNonNull(decorators, "decorators");
  
          Service<HttpRequest, HttpResponse> decorated = serviceWithPathMappings;
          for (Function<? super Service<HttpRequest, HttpResponse>,
                  ? extends Service<HttpRequest, HttpResponse>> d : decorators) {
              checkNotNull(d, "decorators contains null: %s", decorators);
              decorated = d.apply(decorated);
              checkNotNull(decorated, "A decorator returned null: %s", d);
          }
  
          final Service<HttpRequest, HttpResponse> finalDecorated = decorated;
          serviceWithPathMappings.pathMappings().forEach(pathMapping -> service(pathMapping, finalDecorated));
          return self();
      }
docs: Decorates and binds the specified {@link ServiceWithPathMappings} at multiple {@link PathMapping}s
  of the default {@link VirtualHost}.
  
  @param serviceWithPathMappings the {@link ServiceWithPathMappings}.
  @param decorators the decorator functions, which will be applied in the order specified.