code: def process(self, instance: Instance) -> List[Instance]:
      result: List[Instance] = []
      if self.include_original:
          #  we want to include the original even when the perturbation does not change the input
          result.append(instance)
  
      for perturbation in self.perturbations:
          for i in range(self.seeds_per_instance):
              perturbed_instance: Instance = perturbation.apply(
                  instance, seed=None if i == 0 else i
              )
              if (
                  self.skip_unchanged
                  and perturbed_instance.input == instance.input
              ):
                  continue
              result.append(perturbed_instance)
      return result
  
file_path: H2O/h2o_hf/helm/src/helm/benchmark/augmentations/data_augmenter.py
imports: from dataclasses import dataclass, field
  from typing import List
  from helm.common.hierarchical_logger import htrack, hlog
  from helm.common.general import parallel_map
  from helm.benchmark.augmentations.perturbation import Perturbation, PerturbationSpec, create_perturbation
  from helm.benchmark.scenarios.scenario import Instance
label_desc: Use image node_id 1 for calling the Processor obj's underlying member method code with example usage: obj.process(instance) and returns: result