boolean (@NotNull PsiStatement statement) { PsiMethod method = PsiTreeUtil.getParentOfType(statement, PsiMethod.class); if (method == null) return false; if (!"main".equals(method.getName())) return false; PsiModifierList modifierList = method.getModifierList(); if (!modifierList.hasExplicitModifier(PsiModifier.STATIC) || !modifierList.hasExplicitModifier(PsiModifier.PUBLIC) || method.getParameterList().getParametersCount() != 1) { return false; } PsiParameter[] parameters = method.getParameterList().getParameters(); PsiParameter parameter = parameters[0]; PsiArrayType arrayType = tryCast(parameter.getType(), PsiArrayType.class); if (arrayType == null) return false; PsiType componentType = arrayType.getDeepComponentType(); return CommonClassNames.JAVA_LANG_STRING.equals(componentType.getCanonicalText()); }