boolean (@NotNull PsiExpression construction) { construction = PsiUtil.skipParenthesizedExprDown(construction); if (!(construction instanceof PsiNewExpression newExpression)) return false; final PsiJavaCodeReferenceElement classReference = newExpression.getClassReference(); if (!ConstructionUtils.isReferenceTo(classReference, STRING_JOINER)) { return false; } final PsiExpressionList argumentList = newExpression.getArgumentList(); if (argumentList == null) return false; final PsiExpression[] arguments = argumentList.getExpressions(); if (arguments.length != 1) return false; final PsiExpression argument = arguments[0]; final PsiType argumentType = argument.getType(); return InheritanceUtil.isInheritor(argumentType, CommonClassNames.JAVA_LANG_CHAR_SEQUENCE); }