This method first fires the ApplicationClosingEvent giving all clients an opportunity to cancel the shutdown. If no event sink rejects the shutdown request, the loaded Modules are consulted (see ArcGIS.Desktop.Framework.Contracts.Module.CanUnload for their status. A Module may block the application from closing if it has pending edits for example. In this overload, the caller passes a Boolean argument to indicate whether the application should be immediately restarted after shutdown completes.