but when it calls GetByteArrayRegion, it multiplies it by 2 which defeats the "// safety first" check at the beginning.