internal void RemoveAll(Type type)
 {
     if (policies != null)
     {
         foreach (var p in policies.ToArray())
         {
             if (p.Key.PolicyType == type)
             {
                 policies.Remove(p.Key);
                 OnPolicyChanged(type, p.Key.Scope);
             }
         }
         if (policies.Count == 0)
         {
             policies = null;
         }
     }
 }