Why the & 0x0f ? Why not just digest.asInt() % bucketNum cast as a byte?