code: def _enforce_array(data: Any, arr: Array, required=True):
      if not required and data is None:
          return None
  
      if not isinstance(data, (list, np.ndarray)):
          raise MlflowException(
              f"Expected data to be list or numpy array, got {type(data).__name__}"
          )
  
      if isinstance(arr.dtype, DataType):
          data_enforced = [
              _enforce_datatype(x, arr.dtype) for x in data
          ]
      elif isinstance(arr.dtype, Object):
          data_enforced = [_enforce_object(x, arr.dtype) for x in data]
      elif isinstance(arr.dtype, Array):
          data_enforced = [_enforce_array(x, arr.dtype) for x in data]
      else:
          raise MlflowException(
              f"Failed to enforce schema of data `{data}` with dtype `{arr}`. "
              f"Invalid schema, `{arr.dtype}` is not supported type for Array element."
          )
  
      # Keep input data type
      if isinstance(data, np.ndarray):
          data_enforced = np.array(data_enforced)
  
      return data_enforced
  
imports: import datetime
  import decimal
  import json
  import logging
  import os
  from copy import deepcopy
  from typing import Any, Dict, List, Optional, Union
  import numpy
  import pandas
  from mlflow.exceptions import INVALID_PARAMETER_VALUE, MlflowException
  from mlflow.models import Model
  from mlflow.store.artifact.utils.models import get_model_name_and_version
  from mlflow.types import DataType, ParamSchema, ParamSpec, Schema, TensorSpec
  from mlflow.types.schema import Array, Object, Property
  from mlflow.types.utils import TensorsNotSupportedException, _infer_param_schema, clean_tensor_type
  from mlflow.utils.annotations import experimental
  from mlflow.utils.proto_json_utils import NumpyEncoder, dataframe_from_parsed_json, parse_tf_serving_input
  from mlflow.utils.uri import get_databricks_profile_uri_from_artifact_uri
label_desc: Use image node_id 17 for calling a global function with example usage: _enforce_array(data, arr, required) and returns: data_enforced, None