Fixing IndexOutOfBoundsException when instantiating new String with byte[] payload.

Calling new String(payload, 4, payload.length) causes Java to attempt to read
4 bytes beyond the end of payload, which throws and IndexOutOfBoundsException.