@Override
    public boolean equals(PsiExpression o1, PsiExpression o2) {
      if (o1 == o2) {
        return true;
      }
      if (o1 == null || o2 == null) {
        return false;
      }
      if (JavaPsiEquivalenceUtil.areExpressionsEquivalent(o1, o2)) {
        if (hashCode(o1) != hashCode(o2)) {
          LOG.error("different hashCodes: " + o1 + "; " + o2 + "; " + hashCode(o1) + "!=" + hashCode(o2));
        }
        return true;
      }
      return false;
    }
@Override
    public boolean equals(PsiExpression o1, PsiExpression o2)