private void collectDiffRanges(@NotNull Document refactoredDocument,
                                 @NotNull List<? super Range> diffRanges,
                                 @NotNull Map<FragmentNode, Couple<TextRange>> linesBounds,
                                 @NotNull List<? extends Duplicate> duplicates) {
    for (Duplicate duplicate : duplicates) {
      DuplicateNode duplicateNode = duplicate.myNode;
      TextRange patternRange = duplicateNode.getTextRange();
      TextRange copyRange = duplicate.myCopy.getTextRange();
      Range diffRange = getDiffRange(patternRange, myPatternDocument, copyRange, refactoredDocument);
      if (diffRange != null) {
        diffRanges.add(diffRange);
        linesBounds.put(duplicateNode, Couple.of(getLinesRange(patternRange, myPatternDocument),
                                                 getLinesRange(copyRange, refactoredDocument)));
      }
    }
  }
private void collectDiffRanges(@NotNull Document refactoredDocument,
                                 @NotNull List<? super Range> diffRanges,
                                 @NotNull Map<FragmentNode, Couple<TextRange>> linesBounds,
                                 @NotNull List<? extends Duplicate> duplicates)