code: def _remove_source(self, source_name):
          
  
          assert source_name in self.sources, "Source %s is not part of the current model" % source_name
  
          source = self.sources.pop(source_name)
  
          if source.source_type == POINT_SOURCE:
  
              self._point_sources.pop(source.name)
  
          elif source.source_type == EXTENDED_SOURCE:
  
              self._extended_sources.pop(source.name)
  
          elif source.source_type == PARTICLE_SOURCE:
  
              self._particle_sources.pop(source.name)
  
          self._remove_child(source_name)
docs: Remember to call _update_parameters after this
          :param source_name:
          :return: