If the features filter is set, this will return the intersection of
        those filter items and the given station codes.

def _apply_features_filter(self, station_codes):
        """
        If the features filter is set, this will return the intersection of
        those filter items and the given station codes.
        """
        # apply features filter
        if hasattr(self, "features") and self.features is not None:
            station_codes = set(station_codes)
            station_codes = list(
                station_codes.intersection(set(self.features))
            )

        return station_codes