public void PreDelete(out bool handledCommand) { bool handled = false; Debug.Assert(_postSession == null, "_postSession should have been cleared"); if (_stack.TopSession != null && !HasSelection) { IBraceCompletionSession session = _stack.TopSession; _guardedOperations.CallExtensionPoint(() => { if (session.OpeningPoint != null && session.ClosingPoint != null) { session.PreDelete(out handled); if (!handled) { _postSession = session; } } }); } handledCommand = handled; }