WidgetStatus (@NotNull Project project, @NotNull VirtualFile file) { List<JsonSchemaEnabler> enablers = JsonSchemaEnabler.EXTENSION_POINT_NAME.getExtensionList(); if (!ContainerUtil.exists(enablers, e -> e.isEnabledForFile(file, project) && e.shouldShowSwitcherWidget(file))) { return WidgetStatus.DISABLED; } if (DumbService.getInstance(project).isDumb()) { return WidgetStatus.ENABLED; } if (ContainerUtil.exists(JsonWidgetSuppressor.EXTENSION_POINT_NAME.getExtensionList(), s -> s.isCandidateForSuppress(file, project))) { return WidgetStatus.MAYBE_SUPPRESSED; } return WidgetStatus.ENABLED; }