@Override
    public void deserialize(Buffer buf) {
        presetId = buf.readByte();
        if (presetId < 0)
            throw new RuntimeException("Forbidden value on presetId = " + presetId + ", it doesn't respect the following condition : presetId < 0");
        symbolId = buf.readByte();
        if (symbolId < 0)
            throw new RuntimeException("Forbidden value on symbolId = " + symbolId + ", it doesn't respect the following condition : symbolId < 0");
        int limit = buf.readUShort();
        itemsPositions = new short[limit];
        for (int i = 0; i < limit; i++) {
            itemsPositions[i] = buf.readUByte();
        }
        limit = buf.readUShort();
        itemsUids = new int[limit];
        for (int i = 0; i < limit; i++) {
            itemsUids[i] = buf.readInt();
        }
    }