code: def _run_handler(self, experiment, session_groups, response_format):
      experiment_proto = text_format.Merge(
          experiment, api_pb2.Experiment()
      )
      session_groups_proto = text_format.Merge(
          session_groups, api_pb2.ListSessionGroupsResponse()
      )
      num_columns = len(experiment_proto.hparam_infos) + len(
          experiment_proto.metric_infos
      )
      handler = download_data.Handler(
          backend_context.Context(self._mock_tb_context),
          experiment_proto,
          session_groups_proto,
          response_format,
          [True] * num_columns,
      )
      return handler.run()
  
file_path: tensorboard/tensorboard/plugins/hparams/download_data_test.py
imports: from unittest import mock
  from google.protobuf import text_format
  import tensorflow
  from tensorboard.backend.event_processing import plugin_event_multiplexer
  from tensorboard.plugins import base_plugin
  from tensorboard.plugins.hparams import api_pb2
  from tensorboard.plugins.hparams import backend_context
  from tensorboard.plugins.hparams import download_data
label_desc: Use image node_id 2 for calling the DownloadDataTest obj's underlying member method code with example usage: obj._run_handler(experiment, session_groups, response_format) and returns: handler