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