def register_subsystems(self, subsystems):
    if not isinstance(subsystems, Iterable):
      raise TypeError('The subsystems must be an iterable, given {}'.format(subsystems))
    invalid_subsystems = [s for s in subsystems if not self._is_subsystem_type(s)]
    if invalid_subsystems:
      raise TypeError('The following items from the given subsystems are not Subsystem '
                      'subclasses:\n\t{}'.format('\n\t'.join(str(i) for i in invalid_subsystems)))

    self._subsystems.update(subsystems)
Old deprecated behavior, will be nuked shortly.
dataset/ETHPy150Open pantsbuild/pants/src/python/pants/build_graph/build_configuration.py/BuildConfiguration.register_subsystems--crossover with--dataset/ETHPy150Open adblockplus/gyp/pylib/gyp/generator/analyzer.py/_GenerateOutputDeprecated