void (Object[] values, PsiMethod psiMethod, ConfigurationContext context, Runnable performRunnable, List<PsiClass> classes) { classes.remove(null); if (values.length == 1) { final Object value = values[0]; if (value instanceof PsiClass) { runForClass((PsiClass)value, psiMethod, context, performRunnable); } else { runForClasses(classes, psiMethod, context, performRunnable); } return; } if (ArrayUtil.contains(null, values)) { runForClasses(classes, psiMethod, context, performRunnable); } else { final List<PsiClass> selectedClasses = new ArrayList<>(); for (Object value : values) { if (value instanceof PsiClass) { selectedClasses.add((PsiClass)value); } } runForClasses(selectedClasses, psiMethod, context, performRunnable); } }