@TestOnly
 public static void checkInjectorsAreDisposed(@NotNull Project project) {
   InjectedLanguageManagerImpl cachedManager =
       (InjectedLanguageManagerImpl) project.getUserData(INSTANCE_CACHE);
   if (cachedManager == null) {
     return;
   }
   try {
     ClassMapCachingNulls<MultiHostInjector> cached = cachedManager.cachedInjectors;
     if (cached == null) return;
     for (Map.Entry<Class, MultiHostInjector[]> entry : cached.getBackingMap().entrySet()) {
       Class key = entry.getKey();
       if (cachedManager.myInjectorsClone.isEmpty()) return;
       MultiHostInjector[] oldInjectors = cachedManager.myInjectorsClone.get(key);
       for (MultiHostInjector injector : entry.getValue()) {
         if (ArrayUtil.indexOf(oldInjectors, injector) == -1) {
           throw new AssertionError("Injector was not disposed: " + key + " -> " + injector);
         }
       }
     }
   } finally {
     cachedManager.myInjectorsClone.clear();
   }
 }