/// <summary>
        /// Processes the address for display.
        /// </summary>
        private void ProcessAddressForDisplay()
        {
            if (Model == null)
            {
                return;
            }

            PhysicianAddressList.Clear();
            Model.PhysicianMedicalPractices.ToList().ForEach(pmp =>
            {
                var mpAddresses = pmp.MedicalPractice.Addresses.ToList();
                mpAddresses.ForEach(a =>
                {
                    a.MedicalPracticeName = pmp.MedicalPractice.Name;
                    a.IsSelected          = pmp.AssociatedPMPAddresses.Contains(a.Id);
                    if (a.IsSelected)
                    {
                        PhysicianAddressList.Add(a);
                    }
                });
            });


            Model.Addresses.ToList().ForEach(add =>
            {
                add.IsSelected = true;
                if (PhysicianAddressList.Contains(add))
                {
                    return;
                }
                PhysicianAddressList.Add(add);
            });
        }
        /// <summary>
        /// Called when [remove address].
        /// </summary>
        /// <param name="obj">The object.</param>
        private void OnRemoveAddress(Address obj)
        {
            if (obj == null)
            {
                return;
            }

            var result = MessageBox.Show(@"Are you sure you want to delete this address?", @"Delete Confirmation", MessageBoxButton.OKCancel);

            if (result == MessageBoxResult.Cancel)
            {
                return;
            }

            PhysicianAddressList.Remove(obj);
            DeletedPhysicianAddressList.Add(obj);
        }