Micro-review-note:

I prefer to deduplicate the `==` with `Set(asm.Opcodes.IFNULL, asm.Opcodes.IFNONNULL)(node.getOpcode)`