internal AbstractPasswordChanger GetChanger(PwEntry pwEntry)
        {
            // TODO The user should be able to set their own changer manually
            AbstractPasswordChanger changer = GetAutomaticChanger(pwEntry);

            changer.Entry  = pwEntry;
            changer.Plugin = _plugin;

            return(changer);
        }
        private AbstractPasswordChanger GetAutomaticChanger(PwEntry pwEntry)
        {
            int maxPrio = 0;
            AbstractPasswordChanger bestChanger = null;

            foreach (var changer in Changers)
            {
                AbstractPasswordChanger instance = (AbstractPasswordChanger)Activator.CreateInstance(changer);

                int prio = instance.DoesHandleEntry(pwEntry);
                if (prio > maxPrio)
                {
                    maxPrio     = prio;
                    bestChanger = instance;
                }
            }

            return(bestChanger);
        }