@Override
    public boolean slowPathIfFileTypeHintUnsure(@NotNull IndexedFile file) {
      if (file.getFileType() instanceof LanguageFileType) {
        ParserDefinition parserDefinition = getParserDefinition(file.getFileType(), file::getFileName);
        if (parserDefinition == null) return false;

        final IFileElementType elementType = parserDefinition.getFileNodeType();
        if (elementType instanceof IStubFileElementType && ((IStubFileElementType<?>)elementType).shouldBuildStubFor(file.getFile())) {
          logIfStubTraceEnabled(() -> "Should build stub for " + file.getFileName());
          return true;
        }

        logIfStubTraceEnabled(() -> {
          return "Can't build stub" +
                 ". parserDefinition: " + parserDefinition +
                 ", elementType: " + elementType +
                 ", fileName:" + file.getFileName() +
                 ", properties: " + PushedFilePropertiesRetriever.getInstance().dumpSortedPushedProperties(file.getFile());
        });
      }

      BinaryFileStubBuilder builder = getBinaryStubBuilder(file.getFileType());
      return builder != null && builder.acceptsFile(file.getFile());
    }
@Override
    public boolean slowPathIfFileTypeHintUnsure(@NotNull IndexedFile file)