code: def _child_fig_helper(fig, key, attr, browse_backend):
      # Spawn and close child figs of raw.plot()
      assert getattr(fig.mne, attr) is None
      # spawn, then close via main window toggle
      child_fig = _spawn_child_fig(fig, attr, browse_backend, key)
      _destroy_child_fig(
          fig, child_fig, attr, browse_backend, key, key_target=fig
      )
      # spawn again, then close via child window's close key
      child_fig = _spawn_child_fig(fig, attr, browse_backend, key)
      _destroy_child_fig(
          fig,
          child_fig,
          attr,
          browse_backend,
          key=child_fig.mne.close_key,
          key_target=child_fig,
      )
  
imports: import itertools
  import os
  from copy import deepcopy
  import matplotlib.pyplot
  import numpy
  import pytest
  from matplotlib import backend_bases
  from numpy.testing import assert_allclose
  from mne import Annotations, create_info, pick_types
  from mne._fiff.pick import _DATA_CH_TYPES_ORDER_DEFAULT, _PICK_TYPES_DATA_DICT
  from mne.annotations import _sync_onset
  from mne.datasets import testing
  from mne.io import RawArray
  from mne.utils import _assert_no_instances, _dt_to_stamp, _record_warnings, check_version, get_config, set_config
  from mne.viz import plot_raw, plot_sensors
  from mne.viz.utils import _fake_click, _fake_keypress
label_desc: Use image node_id 9 for calling a global function with example usage: _child_fig_helper(fig, key, attr, browse_backend) without return types