void (@NotNull PsiForeachStatement statement) { super.visitForeachStatement(statement); final PsiExpression iteratedValue = statement.getIteratedValue(); if (iteratedValue == null) return; final PsiType type = iteratedValue.getType(); if (!(type instanceof PsiArrayType arrayType)) return; final PsiType componentType = arrayType.getComponentType(); if (componentType instanceof PsiPrimitiveType) return; final PsiParameter parameter = statement.getIterationParameter(); final PsiStatement body = statement.getBody(); if (!bodyIsArrayToCollectionCopy(body, parameter, false)) return; registerStatementError(statement); }