boolean (@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); }