class_docstr: Python descriptor object to control getting/setting `CumlArray` attributes
  on `Base` objects. See the Estimator Guide for an in depth guide.
code: def __get__(self, instance, owner):
      if instance is None:
          return self
  
      existing = self._get_meta(instance, throw_on_missing=True)
  
      assert len(existing.values) > 0
  
      # Get the global output type
      output_type = cuml.global_settings.output_type
  
      # First, determine if we need to call to_output at all
      if output_type == "mirror":
          # We must be internal, just return the input type
          return existing.get_input_value()
  
      else:
          # We are external, determine the target output type
          if output_type is None:
              # Default to the owning base object output_type
              output_type = instance.output_type
  
          if output_type == "input":
              # Default to the owning base object, _input_type
              output_type = instance._input_type
  
          return self._to_output(instance, output_type)
  
file_path: cuml/python/cuml/common/array_descriptor.py
imports: from dataclasses import dataclass, field
  from cuml.internals.array import CumlArray
  import cuml
  from cuml.internals.input_utils import input_to_cuml_array, determine_array_type
label_desc: Use image node_id 5 for calling the CumlArrayDescriptor obj's underlying member method code with example usage: obj.__get__(instance, owner) and returns: self, existing, self