private static void RepeatTillTimeout(VoidFunction voidFunction, TimeSpan timeout, IBackoffPolicy backoffPolicy)
        {
            var stopwatch = Stopwatch.StartNew();

            while (stopwatch.Elapsed < timeout)
            {
                try
                {
                    voidFunction();
                }
                catch (Exception e)
                {
                    Trace.WriteLine(e);
                }
                backoffPolicy.Wait();
            }
        }