code: def __collect_aggregates(self, classes: List[Type["Configs"]]):
      for c in classes:
          if PropertyKeys.aggregates not in c.__dict__:
              continue
          for key, aggregates in c.__dict__[
              PropertyKeys.aggregates
          ].items():
              for option, pairs in aggregates.items():
                  if key not in self.__aggregates_options:
                      self.__aggregates_options[key] = set()
                  self.__aggregates_options[key].add(option)
                  for name, value in pairs.items():
                      if name not in self.__aggregates:
                          self.__aggregates[name] = {}
                      if key not in self.__aggregates[name]:
                          self.__aggregates[name][key] = {}
                      self.__aggregates[name][key][option] = value
  
imports: import types
  import warnings
  from collections import OrderedDict
  from typing import Dict, List, Callable, Union, Tuple, Optional, Type, Set, Iterable, Any
  from .config_function import ConfigFunction
  from .config_item import ConfigItem
  from .eval_function import EvalFunction
  from .utils import Value
  from ...None import monit
label_desc: Use image node_id 5 for calling the Configs obj's underlying member method code with example usage: obj.__collect_aggregates(classes) without return types