'When given a datum from the provider\'s source, return None if the datum
\'does not pass\' the filter or is invalid. Return the datum if it\'s valid.
:param datum: the datum to check for validity.
:returns: the datum, a modified datum, or None
Meant to be overridden.'

def filter(self, datum):

    if self.filter_fn:
        return self.filter_fn(datum)
    return datum
