public LockResult(string key, bool acquired, LockHandleWrapper handle, TResult result)
 {
     _key      = key;
     _acquired = acquired;
     _handle   = handle;
     _result   = result;
 }
 public LockResult(string key)
 {
     _key      = key;
     _acquired = false;
     _handle   = null;
     _result   = default(TResult);
 }