private void CloseDocument(object sender, FormClosingEventArgs e)
        {
            DocumentWindow window;

            if (sender is DocumentWindow)
            {
                window = sender as DocumentWindow;
            }
            else
            {
                window = ActiveWindow;
            }

            NAntDocument document = _documents[window];

            if (document.FileType == FileType.New)
            {
                DialogResult result = Errors.DocumentNotSaved(document.Name);

                if (result == DialogResult.Yes)
                {
                    SaveDocumentAs(window);
                }
                else if (result == DialogResult.Cancel)
                {
                    e.Cancel = true;
                }
            }
            else if (IsDirty(window))
            {
                DialogResult result = Errors.DocumentNotSaved(document.Name);

                if (result == DialogResult.Yes)
                {
                    try
                    {
                        document.Save(window.Contents, false);
                    }
                    catch (Exception ex)
                    {
                        Errors.CouldNotSave(document.Name, ex.Message);
                    }
                }
                else if (result == DialogResult.Cancel)
                {
                    e.Cancel = true;
                }
            }

            if (!e.Cancel)
            {
                _mainForm.RemoveDocumentMenuItem(document);
            }
        }