code: @Override
      public void process(final HttpServerRequest vertxRequest, final ContainerRequest jerseyRequest, final Handler<Void> done) {
  
          vertx.runOnContext(aVoid -> {
              Principal p = () -> "test";
              SecurityContext securityContext = new SecurityContext() {
                  /**
                   * {@inheritDoc}
                   */
                  @Override
                  public Principal getUserPrincipal() {
                      return p;
                  }
  
                  /**
                   * {@inheritDoc}
                   */
                  @Override
                  public boolean isUserInRole(String role) {
                      String param = vertxRequest.params().get("role");
                      return role.equalsIgnoreCase(param);
                  }
  
                  /**
                   * {@inheritDoc}
                   */
                  @Override
                  public boolean isSecure() {
                      return false;
                  }
  
                  /**
                   * {@inheritDoc}
                   */
                  @Override
                  public String getAuthenticationScheme() {
                      return null;
                  }
              };
  
              jerseyRequest.setSecurityContext(securityContext);
              done.handle(null);
          });
  
      }
docs: Provide additional async request processing
  
  @param vertxRequest  the vert.x http server request
  @param jerseyRequest the jersey container request
  @param done          the done async callback handler