BreadcrumbsProvider (@NotNull Language language) { List<BreadcrumbsProvider> providers = BreadcrumbsProvider.EP_NAME.getExtensionList(); while (language != null) { for (BreadcrumbsProvider provider : providers) { for (Language supported : provider.getLanguages()) { if (language.is(supported)) { return provider; } } } language = language.getBaseLanguage(); } return null; }