code: protected boolean enoughRequiredAttributesAvailableToProcess(final Map<String, Object> principalAttributes, final Map<String, Set<String>> requiredAttributes) {
          if (principalAttributes.isEmpty() && !requiredAttributes.isEmpty()) {
              LOGGER.debug("No principal attributes are found to satisfy defined attribute requirements");
              return false;
          }
          if (principalAttributes.size() < requiredAttributes.size()) {
              LOGGER.debug("The size of the principal attributes that are [{}] does not match defined required attributes, "
                  + "which indicates the principal is not carrying enough data to grant authorization", principalAttributes);
              return false;
          }
          return true;
      }
docs: Enough required attributes available to process? Check collection sizes and determine
  if we have enough data to move on.
  
  @param principalAttributes the principal attributes
  @param requiredAttributes  the required attributes
  @return true /false