code: def query_data(
      self,
      input_table_spec: TableSpec,
      sample_range: Optional[Tuple[float, float]],
      reward_options: RewardOptions,
      data_fetcher: DataFetcher,
  ) -> Dataset:
      raise NotImplementedError()
  
file_path: ReAgent/reagent/model_managers/world_model_base.py
imports: import logging
  from dataclasses import replace
  from typing import Dict, Optional, Tuple
  from reagent.core.dataclasses import dataclass
  from reagent.core.parameters import NormalizationData, NormalizationKey
  from reagent.data.data_fetcher import DataFetcher
  from reagent.data.manual_data_module import ManualDataModule
  from reagent.preprocessing.batch_preprocessor import BatchPreprocessor
  from reagent.preprocessing.types import InputColumn
  from reagent.workflow.identify_types_flow import identify_normalization_parameters
  from reagent.workflow.types import Dataset, PreprocessingOptions, RewardOptions, TableSpec
label_desc: Use image node_id 3 for calling the WorldModelDataModule obj's underlying member method code with example usage: obj.query_data(input_table_spec, sample_range, reward_options, data_fetcher) without return types