private static boolean joinPartsAreEquivalent(@NotNull List<PsiExpression> joinParts1, @NotNull List<PsiExpression> joinParts2) {
      if (joinParts1.size() != joinParts2.size()) return false;
      for (int i = 0, size = joinParts1.size(); i < size; i++) {
        PsiExpression joinPart1 = joinParts1.get(i);
        PsiExpression joinPart2 = joinParts2.get(i);
        if (!ourEquivalence.expressionsAreEquivalent(joinPart1, joinPart2)) return false;
      }
      return true;
    }
private static boolean joinPartsAreEquivalent(@NotNull List<PsiExpression> joinParts1, @NotNull List<PsiExpression> joinParts2)