private IUnitOfWork GetCurrentUnitOfWork()
        {
            var uow = _ambientUnitOfWork.Get();

            //Skip reserved unit of work
            while (uow != null && (uow.IsDisposed || uow.IsCompleted))
            {
                uow = uow.Outer;
            }

            return(uow);
        }