@Override
 public void visitLocalVariable(@NotNull PsiLocalVariable variable) {
   super.visitLocalVariable(variable);
   final PsiCodeBlock codeBlock = PsiTreeUtil.getParentOfType(variable, PsiCodeBlock.class);
   if (!shouldCheckVariable(variable, codeBlock)) {
     return;
   }
   final ArrayReadWriteVisitor visitor =
       new ArrayReadWriteVisitor(variable, !isSimpleArrayExpression(variable.getInitializer()));
   codeBlock.accept(visitor);
   final boolean written = visitor.isWritten();
   if (!visitor.isReferenced() || written == visitor.isRead()) {
     return;
   }
   registerVariableError(variable, Boolean.valueOf(written));
 }