docs: public static <T> T doAs(final boolean inflowed, final SecurityIdentity securityIdentity, final InetAddress remoteAddress, final PrivilegedAction<T> action) {
          final AccessAuditContext previous = contextThreadLocal.get();
          try {
              contextThreadLocal.set(new AccessAuditContext(inflowed, securityIdentity, remoteAddress, previous));
              return securityIdentity != null ? securityIdentity.runAs(action) : action.run();
          } finally {
              contextThreadLocal.set(previous);
          }
      }