def potential_previous(current, base)
      @filters.map { |f| f.previous(current) }.min || current
    end
def potential_previous(current, base)
      @filters.map { |f| f.previous(current) }.min || current
    end
Find a potential previous date matching the rule as a minimum of previous
 valid dates from all the filters. Subclasses should add a check of
 recurrence pattern match