RefactoringActionHandler (@NotNull Language language, PsiElement element) { List<RefactoringSupportProvider> providers = LanguageRefactoringSupport.INSTANCE.allForLanguage(language); if (providers.isEmpty()) return null; if (element == null) return getRefactoringHandler(providers.get(0)); for (RefactoringSupportProvider provider : providers) { if (provider.isAvailable(element)) { return getRefactoringHandler(provider, element); } } return null; }