return canInlineParmOrThisVariable(arrayExpression, shouldBeFinal, strictlyFinal, accessCount, false)
&& canInlineParmOrThisVariable(indexExpression, shouldBeFinal, strictlyFinal, accessCount, false);
}
else if (initializer instanceof PsiParenthesizedExpression) {
PsiExpression expr = ((PsiParenthesizedExpression)initializer).getExpression();
<BUG>if (expr == null) return true;
return canInlineParmOrThisVariable(expr, shouldBeFinal, strictlyFinal, accessCount, false);
</BUG>
}
else if (initializer instanceof PsiTypeCastExpression) {

return canInlineParmOrThisVariable(arrayExpression, shouldBeFinal, strictlyFinal, accessCount, false)
&& canInlineParmOrThisVariable(indexExpression, shouldBeFinal, strictlyFinal, accessCount, false);
}
else if (initializer instanceof PsiParenthesizedExpression) {
PsiExpression expr = ((PsiParenthesizedExpression)initializer).getExpression();
return expr == null || canInlineParmOrThisVariable(expr, shouldBeFinal, strictlyFinal, accessCount, false);
}
else if (initializer instanceof PsiTypeCastExpression) {
