class_docstr: An `Adapter`, guided by the `AdapterSpec`, takes a `Scenario` and produces
  a `ScenarioState`. This is where prompt hacking logic should live.
class_docstr_tok: ["An","`","Adapter","`",",","guided","by","the","`","AdapterSpec","`",",","takes","a","`","Scenario","`","and","produces","a","`","ScenarioState","`",".","This","is","where","prompt","hacking","logic","should","live","."]
docstr: Takes a a list of `Instance`s and returns a `ScenarioState` with the
  list of corresponding `RequestState`s.
docstr_tok: ["Takes","a","a","list","of","`","Instance","`","s","and","returns","a","`","ScenarioState","`","with","the","list","of","corresponding","`","RequestState","`","s","."]
code: def adapt(
      self, instances: List[Instance], parallelism: int
  ) -> ScenarioState:
      """
      Takes a a list of `Instance`s and returns a `ScenarioState` with the
      list of corresponding `RequestState`s.
      """
      pass
  
file_path: H2O/h2o_hf/helm/src/helm/benchmark/adaptation/adapters/adapter.py
imports: from abc import ABC, abstractmethod
  from typing import List
  import numpy
  from helm.benchmark.adaptation.adapter_spec import AdapterSpec
  from helm.benchmark.adaptation.request_state import RequestState
  from helm.benchmark.adaptation.scenario_state import ScenarioState
  from helm.benchmark.scenarios.scenario import Instance, TRAIN_SPLIT, EVAL_SPLITS
  from helm.benchmark.window_services.tokenizer_service import TokenizerService
  from helm.benchmark.window_services.window_service import WindowService
  from helm.benchmark.window_services.window_service_factory import WindowServiceFactory
  from helm.common.hierarchical_logger import hlog
label_desc: Use image node_id 2 for calling the Adapter obj's underlying member method code with example usage: obj.adapt(instances, parallelism) without return types