Source: https://jb.asm.org/content/jb/193/20/5866.full.pdf