Code to be executed everytime the waiting period elapses, but with controls to alter the flow of subsequent iterations. This gives more fine grained control to derived classes to follow different workloads on a custom schedule.
If this method is overridden, then the other OnWaitingPeriodElapsed method will never be called by this base class.