def n_occurrences_on_or_after(limit, date, options={})
      exceptions = options.fetch(:except, [])
      occurrences = []
      enum = enumerator.new(self, date)
      while (occurrence = enum.next) && occurrences.length < limit