code: def _get_descendants_errors(self):  # type: () -> List(ConfigError)
          
          descendants_errors = []
          if hasattr(self, '_children'):
              if isinstance(self._children, (list, tuple)):
                  for c in self._children:
                      descendants_errors += c._get_all_errors()
              elif isinstance(self._children, dict):
                  for c in self._children.values():
                      descendants_errors += c._get_all_errors()
  
          return descendants_errors
docs: Recursively get errors from descendants
  
          :rtype: list of :ConfigErrors: