internal WindowCollection Clone()
        {
            WindowCollection windows;
            object           syncRoot = this._list.SyncRoot;

            lock (syncRoot)
            {
                windows = new WindowCollection(this._list.Count);
                for (int i = 0; i < this._list.Count; i++)
                {
                    windows._list.Add(this._list[i]);
                }
            }
            return(windows);
        }
        internal virtual void DoShutdown()
        {
            lock (typeof(Application.GlobalLock))
                this._appWindowList = (WindowCollection)null;
            EventArgs e = new EventArgs();

            try
            {
                this.OnExit(e);
            }
            finally
            {
                lock (typeof(Application.GlobalLock))
                {
                    Application._appInstance = (Application)null;
                    this._nonAppWindowList   = (WindowCollection)null;
                }
                this._mainWindow    = (Window)null;
                this._appIsShutdown = true;
            }
        }