private static boolean isSameSourceAndDestination(PsiExpression lhs, PsiExpression rhs) {
      lhs = PsiUtil.skipParenthesizedExprDown(lhs);
      rhs = PsiUtil.skipParenthesizedExprDown(rhs);
      assert lhs != null && rhs != null;
      /// checked in ExpressionUtils.isOffsetArrayAccess()
      PsiArrayAccessExpression left = (PsiArrayAccessExpression)lhs;
      PsiArrayAccessExpression right = (PsiArrayAccessExpression)rhs;
      return EquivalenceChecker.getCanonicalPsiEquivalence().expressionsAreEquivalent(left.getArrayExpression(), right.getArrayExpression());
    }
private static boolean isSameSourceAndDestination(PsiExpression lhs, PsiExpression rhs)