boolean isEquivalent(@NotNull ClusterOfUsages usages, @NotNull Collection<Match> matches) {
      if (!myParameter.myPattern.isEquivalent(usages.myParameter.myPattern)) {
        return false;
      }
      for (Match match : matches) {
        ExtractedParameter parameter = getParameter(match);
        ExtractedParameter otherParameter = usages.getParameter(match);
        if (parameter == null || otherParameter == null || !parameter.myCandidate.isEquivalent(otherParameter.myCandidate)) {
          return false;
        }
      }
      return true;
    }
boolean isEquivalent(@NotNull ClusterOfUsages usages, @NotNull Collection<Match> matches)