code: def convert_to_python_obj(data, type_info):
      if type_info == Types.PICKLED_BYTE_ARRAY():
          return pickle.loads(data)
      elif isinstance(type_info, ExternalTypeInfo):
          return convert_to_python_obj(data, type_info._type_info)
      else:
          gateway = get_gateway()
          pickled_bytes = gateway.jvm.PythonBridgeUtils.getPickledBytesFromJavaObject(
              data, type_info.get_java_type_info()
          )
          return pickled_bytes_to_python_obj(pickled_bytes, type_info)
  
file_path: flink/flink-python/pyflink/datastream/utils.py
imports: import ast
  import datetime
  import pickle
  from abc import abstractmethod
  from pyflink.common import Row, RowKind, Configuration
  from pyflink.common.typeinfo import RowTypeInfo, TupleTypeInfo, Types, BasicArrayTypeInfo, PrimitiveArrayTypeInfo, MapTypeInfo, ListTypeInfo, ObjectArrayTypeInfo, ExternalTypeInfo, TypeInformation
  from pyflink.java_gateway import get_gateway
label_desc: Use image node_id 3 for calling a global function with example usage: convert_to_python_obj(data, type_info) and returns: pickle, convert_to_python_obj, pickled_bytes_to_python_obj