@ApiStatus.Internal
  public void cacheFileTypesInside(@NotNull Runnable runnable) {
    CachedFileTypes cached;
    synchronized (this) {
      cached = CACHED;
      if (cached == null) {
        CACHED = cached = new CachedFileTypes(ConcurrentCollectionFactory.createConcurrentIntObjectMap(), new AtomicInteger(1));
      }
      else {
        cached.useCount().incrementAndGet();
      }
    }
    try {
      runnable.run();
    }
    finally {
      synchronized (this) {
        if (cached.useCount().decrementAndGet() == 0) {
          CACHED = null;
        }
      }
    }
  }
@ApiStatus.Internal
  public void cacheFileTypesInside(@NotNull Runnable runnable)