DiffContent (@Nullable Project project, @NotNull VirtualFile file, @Nullable VirtualFile highlightFile) { if (file.isDirectory()) return new DirectoryContentImpl(project, file, highlightFile); Document document = ReadAction.compute(() -> FileDocumentManager.getInstance().getDocument(file)); if (document != null) { // TODO: add notification if file is decompiled ? return new FileDocumentContentImpl(project, document, file, highlightFile); } else { return new FileContentImpl(project, file, highlightFile); } }