code: @FFDCIgnore(IllegalArgumentException.class)
      private Set<ValidationType> evaluateUseFor(boolean immediateOnly) {
          try {
              return elHelper.processUseFor(this.idStoreDefinition.useForExpression(), this.idStoreDefinition.useFor(), immediateOnly);
          } catch (IllegalArgumentException e) {
              Set<ValidationType> values = new HashSet<ValidationType>();
              values.add(ValidationType.PROVIDE_GROUPS); /* Default value from the spec. */
              values.add(ValidationType.VALIDATE); /* Default value from the spec. */
  
              if (TraceComponent.isAnyTracingEnabled() && tc.isWarningEnabled()) {
                  Tr.warning(tc, "JAVAEESEC_WARNING_IDSTORE_CONFIG", new Object[] { "useFor/useForExpression", values });
              }
              return values;
          }
      }
docs: Evaluate and return the useFor.
  
  @param immediateOnly If true, only return a non-null value if the setting is either an
  immediate EL expression or not set by an EL expression. If false, return the
  value regardless of where it is evaluated.
  @return The useFor or null if immediateOnly==true AND the value is not evaluated
  from a deferred EL expression.