public bool StopAndWait(int timeoutInMilliSec) { _stopTimer = true; if (!Enabled || _threadTimer.ManagedThreadId == System.Threading.Thread.CurrentThread.ManagedThreadId) { return true; } return _threadTimer.Join(timeoutInMilliSec); }