When comparing two weekly events with infinite recursion, the method
can take (almost) forever. In such a case it does 10 * 50 * 10 * 50
iterations which are expensive.
The fix workarounds the issue by limiting number of iterations, i.e.
we do not loop over all occurrences of the second event, but only take
those in time period of the main event occurence.