internal override byte[] RecoveryInformation(InternalEnlistment enlistment) { Monitor.Exit(enlistment.SyncRoot); try { return enlistment.PromotedEnlistment.GetRecoveryInformation(); } finally { Monitor.Enter(enlistment.SyncRoot); } }