protected override void Dispose(bool disposing)
 {
     if (Interlocked.Exchange(ref _isDisposed, IntCondition.True) == IntCondition.True)
     {
         return;
     }
     if (_safeRandomGeneratorIsMineExclusively)
     {
         _safeRandomGenerator.Dispose();
     }
     base.Dispose(disposing);
 }
 protected override void Dispose(bool disposing)
 {
     if (Interlocked.Exchange(ref _isDisposed, IntCondition.True) == IntCondition.True)
     {
         return;
     }
     if (disposing && _ownsSafeRandomGenerator)
     {
         _safeRandomGenerator?.Dispose();
     }
     base.Dispose(disposing);
 }