code: @Override
      public ContainerRequest filter(ContainerRequest request) {
          Subject subject = ThreadContext.getSubject();
  
          String[] permissions = resolvePermissions(request);
  
          if (permissions.length == 1 || _logical == Logical.AND) {
              // Shortcut call to check all permissions at once
              subject.checkPermissions(permissions);
          } else {
              // Check each permission until any passes
              boolean anyPermitted = false;
              int p = 0;
              while (!anyPermitted) {
                  try {
                      subject.checkPermission(permissions[p]);
                      anyPermitted = true;
                  } catch (AuthorizationException e) {
                      // If this is the last permission then pass the exception along
                      if (++p == permissions.length) {
                          throw e;
                      }
                  }
              }
          }
  
          return request;
      }
docs: Authorizes the client for the annotated permissions.  If any authorizations fail an {@link AuthorizationException}
  will be thrown, otherwise the original request is returned.