boolean (@Nullable Project project, @NotNull Change change) { for (ChangeDiffViewerWrapperProvider provider : ChangeDiffViewerWrapperProvider.EP_NAME.getExtensions()) { if (provider.canCreate(project, change)) return true; } for (ChangeDiffRequestProvider provider : ChangeDiffRequestProvider.EP_NAME.getExtensions()) { if (provider.canCreate(project, change)) return true; } ContentRevision bRev = change.getBeforeRevision(); ContentRevision aRev = change.getAfterRevision(); if (bRev == null && aRev == null) return false; if (bRev != null && bRev.getFile().isDirectory()) return false; if (aRev != null && aRev.getFile().isDirectory()) return false; return true; }