@Override
 public void evaluateRequest(final HttpServerRequest request) throws HttpAuthenticationException {
   try {
     AccessController.doPrivileged(
         (PrivilegedExceptionAction<Void>)
             () -> {
               mechanism.evaluateRequest(new HttpServerRequestWrapper(request));
               return null;
             },
         accessControlContext);
   } catch (PrivilegedActionException pae) {
     try {
       throw pae.getCause();
     } catch (HttpAuthenticationException | RuntimeException | Error e) {
       throw e;
     } catch (Throwable throwable) {
       throw new UndeclaredThrowableException(throwable);
     }
   }
 }
 @Override
 public String getMechanismName() {
   return mechanism.getMechanismName();
 }