class_docstr: Sanitizes the body according to specification.
  
  :param sanitize_specs: array of strings that specifies which fields to remove
code: def _sanitize(self, dictionary, remaining_field_spec, current_path):
      field_split = remaining_field_spec.split(".", 1)
      if len(field_split) == 1:
          field_name = field_split[0]
          if field_name in dictionary:
              self.log.info("Deleted %s [%s]", field_name, current_path)
              del dictionary[field_name]
          else:
              self.log.debug(
                  "The field %s is missing in %s at the path %s.",
                  field_name,
                  dictionary,
                  current_path,
              )
      else:
          field_name = field_split[0]
          remaining_path = field_split[1]
          child = dictionary.get(field_name)
          if child is None:
              self.log.debug(
                  "The field %s is missing in %s at the path %s. ",
                  field_name,
                  dictionary,
                  current_path,
              )
          elif isinstance(child, dict):
              self._sanitize(
                  child, remaining_path, f"{current_path}.{field_name}"
              )
          elif isinstance(child, list):
              for index, elem in enumerate(child):
                  if not isinstance(elem, dict):
                      self.log.warning(
                          "The field %s element at index %s is of wrong type. "
                          "It should be dict and is %s. Skipping it.",
                          current_path,
                          index,
                          elem,
                      )
                  self._sanitize(
                      elem,
                      remaining_path,
                      f"{current_path}.{field_name}[{index}]",
                  )
          else:
              self.log.warning(
                  "The field %s is of wrong type. It should be dict or list and it is %s. Skipping it.",
                  current_path,
                  child,
              )
  
file_path: airflow/airflow/providers/google/cloud/utils/field_sanitizer.py
imports: from __future__ import annotations
  from airflow.exceptions import AirflowException
  from airflow.utils.log.logging_mixin import LoggingMixin
label_desc: Use image node_id 2 for calling the GcpBodyFieldSanitizer obj's underlying member method code with example usage: obj._sanitize(dictionary, remaining_field_spec, current_path) without return types