docs: def select_catalogue(self, selector, distance=None):
          '''
          Selects the catalogue of earthquakes attributable to the source
  
          :param selector:
              Populated instance of openquake.hmtk.seismicity.selector.CatalogueSelector
              class
          :param float distance:
              Distance (in km) to extend or contract (if negative) the zone for
              selecting events
          '''
          if selector.catalogue.get_number_events() < 1:
              raise ValueError('No events found in catalogue!')
  
          self.catalogue = selector.within_polygon(self.geometry,
                                                   distance,
                                                   upper_depth=self.upper_depth,
                                                   lower_depth=self.lower_depth)
          if self.catalogue.get_number_events() < 5:
              # Throw a warning regarding the small number of earthquakes in
              # the source!
              warnings.warn('Source %s (%s) has fewer than 5 events'
                            % (self.id, self.name))