boolean (final PsiMethod method) { if (method == null || method.getContainingClass() == null) return false; if (!PsiTypes.voidType().equals(method.getReturnType())) return false; final PsiParameter[] parameters = method.getParameterList().getParameters(); if (PsiUtil.getLanguageLevel(method).isAtLeast(LanguageLevel.JDK_21_PREVIEW)) { if (!method.hasModifierProperty(PsiModifier.PUBLIC) && !method.hasModifierProperty(PsiModifier.PACKAGE_LOCAL) && !method.hasModifierProperty(PsiModifier.PROTECTED)) return false; PsiMethod[] constructors = method.getContainingClass().getConstructors(); if (constructors.length != 0 && !ContainerUtil.exists(constructors, method1 -> method1.getParameterList().isEmpty())) { return false; } if (parameters.length == 1) { return isJavaLangStringArray(parameters[0]); } return parameters.length == 0; } else { if (!method.hasModifierProperty(PsiModifier.STATIC)) return false; if (!method.hasModifierProperty(PsiModifier.PUBLIC)) return false; if (parameters.length != 1) return false; return isJavaLangStringArray(parameters[0]); } }