class_docstr: Configuration used to map multiple inputs to different part of the model
  
  Assumptions:
  - the same trunk is used to extract the features (but we can extract the features
    at different levels for each of the inputs)
  - by default, each input correspond to a different head (but this can be changed)
  
  Supported input formats:
  
      List (Legacy format):
      ["input_key", [list of features heads is applied on]]
  
      Dict (Flexible format):
      ["input_key", {"feat_names": [], "head_index": 0, "additional_keys":["mask"]}]
code: def _add_key(self, key: str):
      if key in self.input_keys:
          raise ValueError(
              f"duplicate key {key} specified for MODEL.MULTI_INPUT_HEAD_MAPPING."
          )
      self.input_keys.append(key)
      return key
  
imports: from dataclasses import dataclass, field
  from typing import Dict, List, Optional
  from vissl.config import AttrDict
label_desc: Use image node_id 3 for calling the MultipleInputMapping obj's underlying member method code with example usage: obj._add_key(key) and returns: key