public static TimeSpan Do(DoSomething doSomething)
    {
        DateTime start = DateTime.Now;

        while (!doSomething.HaveYouFinished())
        {
            object[] results = doSomething.WhatsUp();
            // just to say that whe use the results
            results.ToString();
        }
        DateTime end = DateTime.Now;

        return(end - start);
    }