private static boolean hasExternalFlowIntoCatchBlock(@Nonnull MethodNode method,
	                                                     @Nonnull List<AbstractInsnNode> block) {
		// We pass 'includeFirstInsn = false' because no catch block should be used to point to a label
		// that is in the middle of the block. However, if the handler is the start of the block, that is fine
		// as that is expected as a potential handler.
		if (hasHandlerFlowIntoBlock(method, block, false))
			return true;

		// No control flow instruction should point to this block *at all*.
		// If we observe this to be the case, it would be very hard to manipulate the contents of this block
		// without breaking the flow of the method.
		return hasInboundFlowReferences(method, block);
	}
Allows us to skip blocks that are too simple to bother merging.
For instance:
<ul>
    <li>{@code { throw e; }}</li>
    <li>{@code { e.printStacktrace(); }}</li>
    <li>{@code { no-op }}</li>
</ul>
recaf-core/src/main/java/software/coley/recaf/services/deobfuscation/transform/generic/DuplicateCatchMergingTransformer.java