Oh, also, i believe a similar change is required in WriteRegistersRequest at line 59:

data = new byte[ModbusUtils.popByte(queue)];

... should be:

data = new byte[ModbusUtils.popUnsignedByte(queue)];