code: def project(self, **kwargs: Dict[str, Any]) -> Union[Hist, Dict[str, Hist]]:
          
          if self.single_observable_projection:
              return self._project_single_observable(**kwargs)
          else:
              return self._project_dict(**kwargs)
docs: Perform the requested projection(s).
  
          Note:
              All cuts on the original histograms will be reset when this function is completed.
  
          Args:
              kwargs (dict): Additional named args to be passed to projection_name(...) and output_key_name(...)
          Returns:
              The projected histogram(s). The projected histograms are also stored in ``output_observable``.