code: def _get_metric_group_names_and_types(
      self,
  ) -> Tuple[List[str], List[str]]:
      if self._name is None:
          return [], []
      else:
          (
              names,
              types,
          ) = self._parent._get_metric_group_names_and_types()
          names.append(self._name)
          types.append(str(self._metric_group_type))
          return names, types
  
imports: import json
  from enum import Enum
  from typing import Callable, List, Tuple
  from pyflink.fn_execution.metrics.process.counter_impl import CounterImpl
  from pyflink.fn_execution.metrics.process.distribution_impl import DistributionImpl
  from pyflink.fn_execution.metrics.process.meter_impl import MeterImpl
  from pyflink.metrics import MetricGroup, Counter, Distribution, Meter
label_desc: Use image node_id 8 for calling the GenericMetricGroup obj's underlying member method code with example usage: obj._get_metric_group_names_and_types() and returns: list,  list, names,  types