public void Provision(MVEntry mventry)
        {
            foreach (AgentProvisioner provisioner in _agentProvisioners)
            {
                if (!provisioner.HandledObjectTypes.Contains(mventry.ObjectType))
                {
                    continue;
                }

                bool           passesCriteria = provisioner.PassesProvisionCriteria(mventry);
                ProvisionState state          = GetProvisionState(mventry, provisioner.MAName, passesCriteria);

                if (state == ProvisionState.Provision)
                {
                    provisioner.Provision(mventry);
                }
                else if (state == ProvisionState.Deprovision)
                {
                    provisioner.Deprovision(mventry);
                }
            }
        }
 /// <summary>
 /// Converts the <see cref="sourceValue" /> parameter to the <see cref="destinationType" /> parameter using <see cref="formatProvider"
 /// /> and <see cref="ignoreCase" />
 /// </summary>
 /// <param name="sourceValue">the <see cref="System.Object"/> to convert from</param>
 /// <param name="destinationType">the <see cref="System.Type" /> to convert to</param>
 /// <param name="formatProvider">not used by this TypeConverter.</param>
 /// <param name="ignoreCase">when set to <c>true</c>, will ignore the case when converting.</param>
 /// <returns>
 /// an instance of <see cref="ProvisionState" />, or <c>null</c> if there is no suitable conversion.
 /// </returns>
 public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => ProvisionState.CreateFrom(sourceValue);