code: def build_batch_preprocessor(self):
      raise NotImplementedError
  
imports: import logging
  from dataclasses import replace
  from typing import Dict, List, Optional, Tuple
  import reagent.core.types
  import torch
  from reagent.core.dataclasses import dataclass, field
  from reagent.core.parameters import EvaluationParameters, NormalizationData, NormalizationKey, param_hash
  from reagent.data.data_fetcher import DataFetcher
  from reagent.data.manual_data_module import ManualDataModule
  from reagent.data.reagent_data_module import ReAgentDataModule
  from reagent.model_managers.model_manager import ModelManager
  from reagent.net_builder.synthetic_reward.single_step_synthetic_reward import SingleStepSyntheticReward
  from reagent.net_builder.unions import SyntheticRewardNetBuilder__Union
  from reagent.preprocessing.types import InputColumn
  from reagent.reporting.reward_network_reporter import RewardNetworkReporter
  from reagent.training import ReAgentLightningModule, RewardNetTrainer, RewardNetworkTrainerParameters
  from reagent.workflow.identify_types_flow import identify_normalization_parameters
  from reagent.workflow.types import Dataset, PreprocessingOptions, ReaderOptions, ResourceOptions, RewardOptions, TableSpec
label_desc: Use image node_id 4 for calling the SyntheticRewardDataModule obj's underlying member method code with example usage: obj.build_batch_preprocessor() without return types