/// <summary>
        /// Aktualisiert die Anzeige nach einem Sendersuchlauf mit gespeichertem Profil.
        /// </summary>
        /// <param name="state">Wird ignoriert.</param>
        private void ProcessScan(object state)
        {
            // Reload profiles
            ProfileManager.Refresh();

            // Get the selection
            ProfileItem item = (ProfileItem)selProfiles.SelectedItem;

            if (null == item)
            {
                return;
            }

            // Find
            Profile profile = ProfileManager.FindProfile(item.Profile.Name);

            if (null == profile)
            {
                return;
            }

            // Reload
            item.Profile = profile;

            // Load station selection list
            selStation.Items.Clear();
            selStation.Items.AddRange(SourceItem.GetSourceItems(item.Profile));
        }
        /// <summary>
        /// Erzeugt einen neuen <i>Card Server</i>.
        /// </summary>
        /// <param name="sender">Wird ignoriert.</param>
        /// <param name="e">Wird ignoriert.</param>
        private void cmdStart_Click(object sender, EventArgs e)
        {
            // Attach to the current profile selection
            ProfileItem item = (ProfileItem)selProfiles.SelectedItem;

            if (null == item)
            {
                return;
            }

            // Be safe
            try
            {
                // Create server
                if (ckInProcess.Checked)
                {
                    CurrentServer = ServerImplementation.CreateInMemory();
                }
                else
                {
                    CurrentServer = ServerImplementation.CreateOutOfProcess();
                }

                // Attach the profile
                CurrentRequest = CurrentServer.BeginSetProfile(item.Profile.Name, ckRestart.Checked, false, false);

                // Reset the flag
                ckRestart.Checked = false;
            }
            catch (Exception ex)
            {
                // Report
                MessageBox.Show(this, ex.Message, Text);

                // Reset
                if (null != CurrentServer)
                {
                    cmdStop_Click(cmdStop, EventArgs.Empty);
                }
            }

            // Refresh
            UpdateGUI();
        }
        /// <summary>
        /// Es wurde ein geräteprofil ausgewählt.
        /// </summary>
        /// <param name="sender">Wird ignoriert.</param>
        /// <param name="e">Wir dignoriert.</param>
        private void selProfiles_SelectionChangeCommitted(object sender, EventArgs e)
        {
            // Get the selection
            ProfileItem item = (ProfileItem)selProfiles.SelectedItem;

            // Remember
            Properties.Settings.Default.ProfileName = (null == item) ? null : item.Profile.Name;
            Properties.Settings.Default.Save();

            // Load station selection list
            selStation.Items.Clear();

            // Try to resolve profile
            if (null != item)
            {
                selStation.Items.AddRange(SourceItem.GetSourceItems(item.Profile));
            }

            // Refresh
            UpdateGUI();
        }