docs: @Override
      public ModelNode resolveValue(ExpressionResolver resolver, ModelNode value) throws OperationFailedException {
  
          // Pass non-LIST values through the superclass so it can reject weird values and, in the odd chance
          // that's how this object is set up, turn undefined into a default list value.
          ModelNode superResult = value.getType() == ModelType.LIST ? value : super.resolveValue(resolver, value);
  
          // If it's not a LIST (almost certainly UNDEFINED), then nothing more we can do
          if (superResult.getType() != ModelType.LIST) {
              return superResult;
          }
          // Resolve each element.
          // Don't mess with the original value
          ModelNode clone = superResult == value ? value.clone() : superResult;
          ModelNode result = new ModelNode();
          result.setEmptyList();
          for (ModelNode element : clone.asList()) {
              result.add(valueType.resolveValue(resolver, element));
          }
          // Validate the entire list
          getValidator().validateParameter(getName(), result);
          return result;
      }