code: @Override
      public Promise<JerseyServer> createServer(@Nullable JerseyServerOptions options, @Nullable JerseyOptions jerseyOptions) {
          final Deferred<JerseyServer> d = when.defer();
  
          try {
              JerseyServer jerseyServer = jerseyServerProvider.get();
              jerseyServer.start(options, jerseyOptions, result -> {
                  if (result.succeeded()) {
                      d.resolve(jerseyServer);
                  } else {
                      d.reject(result.cause());
                  }
              });
  
          } catch (RuntimeException e) {
              d.reject(e);
          }
  
          return d.getPromise();
      }
docs: Returns a promise for asynchronously creating a {@link JerseyServer}
  
  @param options
  @param jerseyOptions
  @return a promise for the server