/// <summary>
        /// Shows this dialog for a given account. 
        /// </summary>
        /// <param name="editableAccount">An <see cref="T:ChangeCoordinator[T]"/> around a given account to show.</param>
        private static AccountDetailsDialog Show(Workbook workbook, ChangeCoordinator<Account> editableAccount, WizardPageReturnEventHandler returnEventHandler)
        {
            AccountDetailsDialog result = null;

            Account account = null;
            if (editableAccount != null) {
                account = editableAccount.OriginalItem;
                if (account == null) {
                    account = editableAccount.EditableItem;
                }
            }

            if (editableAccount != null && _openWindows.ContainsKey(account)) {
                result = _openWindows[account];
                result.Activate();
            } else {
                WizardPage page = null;
                if (editableAccount != null) {
                    AccountDetailsPage detailsPage = new AccountDetailsPage();
                    detailsPage.AccountChangeCoordinator = editableAccount;
                    page = detailsPage;
                } else {
                    page = new AccountTypePage(workbook);
                }

                result = new AccountDetailsDialog(page);
                if (returnEventHandler != null) {
                    result.Return += returnEventHandler;
                }
                result.Show();
                if (account != null) {
                    _openWindows[account] = result;
                    result.Closed += new EventHandler(
                        delegate(object sender, EventArgs e) {
                            _openWindows.Remove(account);
                        });
                }
            }

            return result;
        }
 /// <summary>
 /// Shows this dialog for a given account. 
 /// </summary>
 /// <param name="editableAccount">An <see cref="T:ChangeCoordinator[T]"/> around a given account to show.</param>
 public static AccountDetailsDialog Show(ChangeCoordinator<Account> editableAccount, WizardPageReturnEventHandler returnEventHandler)
 {
     return Show(null, editableAccount, returnEventHandler);
 }