/// <summary>
 /// Handles the disposal of resources. Derived from abstract class <see cref="DisposableObject"/> which handles common required locking logic.
 /// </summary>
 protected override void DisposeResources()
 {
     _limitedLifetime.IfNotNull(x => x.Dispose());
     _extendedLifetime.IfNotNull(x => x.Dispose());
 }