static boolean areDuplicates(@NotNull CatchSectionWrapper s1, @NotNull CatchSectionWrapper s2, boolean strictCommentMatch) {
      final boolean empty1 = s1.myCodeBlock.isEmpty();
      final boolean empty2 = s2.myCodeBlock.isEmpty();
      if (empty1 != empty2) return false;

      if (empty1) {
        return commentsMatch(s1, s2);
      }

      final Match match1 = s1.findDuplicate(s2);
      if (match1 == null) {
        return false;
      }
      final Match match2 = s2.findDuplicate(s1);
      if (match2 == null) {
        return false;
      }
      if (!ReturnValue.areEquivalent(match1.getReturnValue(), match2.getReturnValue())) {
        return false;
      }
      return !strictCommentMatch || commentsMatch(s1, s2);
    }
static boolean areDuplicates(@NotNull CatchSectionWrapper s1, @NotNull CatchSectionWrapper s2, boolean strictCommentMatch)