public bool RemovePlugin(ConfigurationPlugIn plugin)
        {
            for (int i = 0; i < plugins.Count; i++)
            {
                if (plugins[i].plugIn == plugin)
                {
                    plugin.Parent = null;
                    plugins.RemoveAt(i);
                    return(true);
                }
            }

            ALIB.WARNING("No Plug-in was removed ");
            return(false);
        }
        public void InsertPlugin(ConfigurationPlugIn plugin, int priority)
        {
            int i;

            for (i = 0; i < plugins.Count; i++)
            {
                ALIB.ASSERT_ERROR(plugins[i].prio != priority,
                                  "Configuration.InsertPlugin(): Plug-in with same priority exists");

                if (plugins[i].prio < priority)
                {
                    break;
                }
            }

            PluginAndPrio pap = new PluginAndPrio();

            pap.plugIn = plugin;
            pap.prio   = priority;
            plugins.Insert(i, pap);

            plugin.Parent = this;
        }