public static void AddExtension(IProjectIconExtensionFeature feature)
    {
        bool isExist = extensions.Any(ext => feature.GetType() == ext.GetType());

        if (isExist)
        {
            return;
        }
        extensions.Add(feature);
        extensions = extensions.OrderBy(ext => ext.GetPriority()).ToList();
        UpdateWorkingExtensions();
    }
 public static void RemoveExtension(IProjectIconExtensionFeature feature)
 {
     for (int i = 0; i < extensions.Count; ++i)
     {
         bool isSameType = extensions[i].GetType() == feature.GetType();
         if (!isSameType)
         {
             continue;
         }
         extensions.RemoveAt(i);
         break;
     }
     UpdateWorkingExtensions();
 }