docs: @FFDCIgnore(IllegalArgumentException.class)
      private List<String> evaluateHashAlgorithmParameters() {
          List<String> parameters = new ArrayList<String>();
  
          String[] rawArray = idStoreDefinition.hashAlgorithmParameters();
          if (rawArray == null || rawArray.length == 0) {
              return parameters;
          }
  
          /*
           * The EL expressions is used for a full array element. It must evaluate to either a
           * single string, a string array or string Stream.
           */
          if (rawArray.length == 1) {
              /*
               * Process as String.
               */
              try {
                  String value = elHelper.processString("hashAlgorithmParameters[0]", rawArray[0], false);
                  if (value != null && !value.isEmpty()) {
                      parameters.add(value);
                  }
                  return parameters;
              } catch (IllegalArgumentException e) {
                  // Ignore.
              }
  
              /*
               * Process as String[].
               */
              try {
                  String[] array = elHelper.processStringArray("hashAlgorithmParameters[0]", rawArray[0], false, false);
                  if (array != null && array.length == 0) {
                      for (String value : array) {
                          if (value != null && !value.isEmpty()) {
                              parameters.add(value);
                          }
                      }
                  }
                  return parameters;
              } catch (IllegalArgumentException e) {
                  // Ignore.
              }
  
              /*
               * Process as Stream<String>.
               */
              try {
                  Stream<String> stream = elHelper.processStringStream("hashAlgorithmParameters[0]", rawArray[0], false, false);
                  Iterator<String> iterator = stream.iterator();
                  while (iterator.hasNext()) {
                      String value = iterator.next();
                      if (value != null && !value.isEmpty()) {
                          parameters.add(value);
                      }
                  }
                  return parameters;
              } catch (IllegalArgumentException e) {
                  // Ignore.
              }
  
              if (TraceComponent.isAnyTracingEnabled() && tc.isWarningEnabled()) {
                  Tr.warning(tc, "JAVAEESEC_WARNING_IDSTORE_CONFIG", new Object[] { "hashAlgorithmParameters[0]", Collections.emptyList() });
              }
          } else {
              if (rawArray != null && rawArray.length > 0) {
                  for (int idx = 0; idx < rawArray.length; idx++) {
                      String value = elHelper.processString("hashAlgorithmParameters[" + idx + "]", rawArray[idx], false);
                      if (value != null && !value.isEmpty()) {
                          parameters.add(value);
                      }
                  }
              }
          }
  
          return parameters;
      }