code: def collect_source_model_data(self, branch_id, source_model):
          
          # using regular expressions is a lot faster than using the
          with self._get_source_model(source_model) as sm:
              xml = sm.read()
          self.tectonic_region_types.update(TRT_REGEX.findall(xml))
          self.source_ids[branch_id].extend(ID_REGEX.findall(xml))
          self.source_types.update(SOURCE_TYPE_REGEX.findall(xml))
docs: Parse source model file and collect information about source ids,
          source types and tectonic region types available in it. That
          information is used then for :meth:`validate_filters` and
          :meth:`validate_uncertainty_value`.