public static IDisposable HideTemporarily(this IPleaseWaitService pleaseWaitService)
{
Argument.IsNotNull("pleaseWaitService", pleaseWaitService);
var showCounter = pleaseWaitService.ShowCounter;
return new DisposableToken<IPleaseWaitService>(pleaseWaitService,
x => x.Instance.Hide(),
x =>
{
for (var i = 0; i < showCounter; i++)
{
if (x.Instance.ShowCounter < showCounter)
{
x.Instance.Push();
}
}
});
}