code: @Override
      public boolean checkDataConstraints(String contextId, Object httpServletRequest, WebUserDataPermission webUDPermission) {
          HttpServletRequest req = null;
          if (httpServletRequest != null) {
              try {
                  req = (HttpServletRequest) httpServletRequest;
              } catch (ClassCastException cce) {
                  Tr.error(tc, "JACC_WEB_SPI_PARAMETER_ERROR", new Object[] { httpServletRequest.getClass().getName(), "checkDataConstraints", "HttpServletRequest" });
                  return false;
              }
          }
  
          // In this method, we check for the following constraints
          // 1. Data Constraints (is SSL required?)
          Boolean result = Boolean.FALSE;
          try {
              final WebUserDataPermission wudp = webUDPermission;
              final String fci = contextId;
              final HashMap<String, HttpServletRequest> handlerObjects = new HashMap<String, HttpServletRequest>();
              final HttpServletRequest hsr = req;
              result = AccessController.doPrivileged(new PrivilegedExceptionAction<Boolean>() {
                  @Override
                  public Boolean run() throws javax.security.jacc.PolicyContextException {
                      PolicyContext.setContextID(fci);
                      for (String jaccHandlerKey : jaccHandlerKeyArray) {
                          PolicyContext.registerHandler(jaccHandlerKey, pch, true);
                      }
                      handlerObjects.put(jaccHandlerKeyArray[1], hsr);
                      PolicyContext.setHandlerData(handlerObjects);
                      if (tc.isDebugEnabled())
                          Tr.debug(tc, "Calling JACC implies");
                      return Boolean.valueOf((Policy.getPolicy().implies(nullPd, wudp)));
                  }
              });
  
          } catch (PrivilegedActionException e) {
              Tr.error(tc, "JACC_WEB_IMPLIES_FAILURE", new Object[] { contextId, e.getException() });
              result = Boolean.FALSE;
          }
  
          return result.booleanValue();
      }
docs: {@inheritDoc}