private void saveButton_click(object sender, EventArgs e)
        {
            var           crmId        = contactItem.GetCrmId().ToString();
            string        selectedId   = resultsTree.GetAllNodes().FirstOrDefault(x => x.Checked)?.Name;
            EntryValue    selectedItem = searchResults.ContainsKey(selectedId) ? searchResults[selectedId] : null;
            List <string> problems     = new List <string>();

            if (contactItem.Sensitivity == OlSensitivity.olPrivate)
            {
                problems.Add($"Contact {contactItem.FullName} is marked 'private'. Are you sure?");
            }

            if (resultsTree.Nodes["create"].Checked && IsPreviouslySyncedItem(crmId))
            {
                problems.Add($"A record for contact {contactItem.FullName} already exists in CRM. Are you sure you want to create a new record?");
            }
            if (selectedItem != null &&
                !IsProbablySameItem(selectedItem, contactItem))
            {
                problems.Add($"The record for {selectedItem.GetValueAsString("first_name")} {selectedItem.GetValueAsString("last_name")} will be overwritten with the details of {contactItem.FullName}.");
            }
            if (IsPreviouslySyncedItem(crmId) && selectedItem != null)
            {
                problems.Add($"Contact {selectedItem.GetValueAsString("first_name")} {selectedItem.GetValueAsString("last_name")} has previously been synced and will be overwritten.");
            }

            if (resultsTree.Nodes["create"].Checked &&
                IsPreviouslySyncedItem(crmId))
            {
                problems.Add($"Contact {contactItem.FullName} has previously been synced. Are you sure you want to create another copy?");
            }

            if (problems.Count == 0 || MessageBox.Show(
                    string.Join("\n", problems.Select(p => $"• {p}\n").ToArray()),
                    "Problems found: are you sure?",
                    MessageBoxButtons.OKCancel,
                    MessageBoxIcon.Warning) ==
                DialogResult.OK)
            {
                if (resultsTree.Nodes["create"].Checked)
                {
                    contactItem.ClearCrmId();
                    contactItem.SetManualOverride();
                }
                else
                {
                    try
                    {
                        contactItem.ChangeCrmId(resultsTree.GetAllNodes().FirstOrDefault(x => x.Checked).Name);
                    }
                    finally
                    {
                        contactItem.SetManualOverride();
                    }
                }
            }
            else
            {
                dontClose = true;
            }
        }