code: def _ensure_is_parent_list(obj):
      if obj is None:
          return None
  
      if isinstance(obj, Geocoder):
          obj = obj._geocode()
  
      if isinstance(obj, Geocodes):
          return obj.as_list()
  
      if isinstance(obj, Iterable) and not isinstance(obj, str):
          return [v for v in obj]
  
      return [obj]
  
imports: from collections import namedtuple
  from collections.abc import Iterable
  from typing import Union, List, Optional, Dict
  from pandas import Series
  from .geocodes import _to_level_kind, request_types, Geocodes, _raise_exception, _ensure_is_list
  from .gis.geocoding_service import GeocodingService
  from .gis.geometry import GeoRect, GeoPoint
  from .gis.request import RequestBuilder, GeocodingRequest, RequestKind, MapRegion, AmbiguityResolver, RegionQuery, LevelKind, IgnoringStrategyKind, PayloadKind, ReverseGeocodingRequest
  from .gis.response import Response, SuccessResponse
  from .type_assertion import assert_list_type
label_desc: Use image node_id 5 for calling a global function with example usage: _ensure_is_parent_list(obj) and returns: list, None, obj, unknown