private static @NotNull DiffContent createBinaryImpl(@Nullable Project project,
                                                       byte @NotNull [] content,
                                                       @NotNull FileType type,
                                                       @NotNull @NonNls @SystemIndependent String lightFilePath,
                                                       @Nullable VirtualFile highlightFile) throws IOException {
    // workaround - our JarFileSystem and decompilers can't process non-local files
    boolean useTemporalFile = type instanceof ArchiveFileType || BinaryFileTypeDecompilers.getInstance().forFileType(type) != null;

    VirtualFile file;
    if (useTemporalFile) {
      file = createTemporalFile(PathUtil.getFileName(lightFilePath), content);
    }
    else {
      file = new MyBinaryLightVirtualFile(lightFilePath, type, content);
      file.setWritable(false);
    }
    file.putUserData(DiffUtil.TEMP_FILE_KEY, Boolean.TRUE);

    return createContentFromFile(project, file, highlightFile);
  }
private static @NotNull DiffContent createBinaryImpl(@Nullable Project project,
                                                       byte @NotNull [] content,
                                                       @NotNull FileType type,
                                                       @NotNull @NonNls @SystemIndependent String lightFilePath,
                                                       @Nullable VirtualFile highlightFile)