boolean (PsiStatement body, PsiVariable variable, boolean shouldBeOffsetArrayAccess) { if (body instanceof PsiExpressionStatement expressionStatement) { final PsiExpression expression = expressionStatement.getExpression(); return expressionIsArrayToCollectionCopy(expression, variable, shouldBeOffsetArrayAccess); } else if (body instanceof PsiBlockStatement blockStatement) { final PsiCodeBlock codeBlock = blockStatement.getCodeBlock(); final PsiStatement[] statements = codeBlock.getStatements(); if (statements.length == 1) { return bodyIsArrayToCollectionCopy(statements[0], variable, shouldBeOffsetArrayAccess); } else if (statements.length == 2) { final PsiStatement statement = statements[0]; if (!(statement instanceof PsiDeclarationStatement declarationStatement)) return false; final PsiElement[] declaredElements = declarationStatement.getDeclaredElements(); if (declaredElements.length != 1) return false; final PsiElement declaredElement = declaredElements[0]; if (!(declaredElement instanceof PsiVariable localVariable)) return false; final PsiExpression initializer = localVariable.getInitializer(); if (!ExpressionUtils.isOffsetArrayAccess(initializer, variable)) return false; return bodyIsArrayToCollectionCopy(statements[1], localVariable, false); } } return false; }