code: def __getattr__(self, name):
      if (
          "_dir_representation" in self.__dict__
          and name in self._dir_representation
      ):
          return getattr(self, name)
      elif "datasets" in self.__dict__ and hasattr(
          self.datasets[0], name
      ):
          attr = getattr(self.datasets[0], name)
          # Check if the current attribute is class method function
          if isinstance(attr, types.MethodType):
              # if it is the, we to call this function for
              # each of the child datasets
              attr = functools.partial(
                  self._call_all_datasets_func, name
              )
          return attr
      else:
          raise AttributeError(name)
  
file_path: mmf/mmf/datasets/concat_dataset.py
imports: import functools
  import types
  from torch.utils.data import ConcatDataset
label_desc: Use image node_id 2 for calling the MMFConcatDataset obj's underlying member method code with example usage: obj.__getattr__(name) and returns: getattr, attr