public static void LockOrWait(this IOperationLock lockObj, Action operation, TimeSpan timeOut) { LockOperation(lockObj, operation, () => lockObj.Wait(timeOut)); }