code: @Override
      public Result authenticate(HttpExchange httpExchange) {
          Result result = null;
          for (Authenticator a : authenticators) {
              result = a.authenticate(httpExchange);
              if ((result instanceof Success && mode == Mode.ANY) ||
                  (!(result instanceof Success) && mode == Mode.ALL)) {
                  return result;
              }
          }
          // Return last result, which is either SUCCESS for mode.ALL or FAILURE for mode.ANY
          return result;
      }
docs: Authenticate against the given request
  
  @param httpExchange request and response object
  @return the result of the first authenticator that does succeed, or the last failure result.