@Override
    public void deserialize(Buffer buf) {
        uid = buf.readInt();
        if (uid < 0)
            throw new RuntimeException("Forbidden value on uid = " + uid + ", it doesn't respect the following condition : uid < 0");
        targetId = buf.readInt();
        turnDuration = buf.readShort();
        dispelable = buf.readByte();
        if (dispelable < 0)
            throw new RuntimeException("Forbidden value on dispelable = " + dispelable + ", it doesn't respect the following condition : dispelable < 0");
        spellId = buf.readShort();
        if (spellId < 0)
            throw new RuntimeException("Forbidden value on spellId = " + spellId + ", it doesn't respect the following condition : spellId < 0");
        parentBoostUid = buf.readInt();
        if (parentBoostUid < 0)
            throw new RuntimeException("Forbidden value on parentBoostUid = " + parentBoostUid + ", it doesn't respect the following condition : parentBoostUid < 0");
    }