private void RestoreWindowPositionsFor(string layout) { var appLayoutSections = _sectionNameHelper.ListAppLayoutSectionsFor(layout); _desktopWindowUtil.ListWindows() .ForEach( window => { var section = FindBestMatchFor(window, appLayoutSections); if (section == null) { return; } ApplyLayout(window, section); }); _eventAggregator .GetEvent <LayoutRestoredEvent>() .Publish(layout); _trayIcon.ShowBalloonTipFor( 5000, "Layout restored", $"Layout '{layout}' was restored", ToolTipIcon.Info ); }