@Override
    public void deserialize(Buffer buf) {
        areaId = buf.readInt();
        atLeastNbRoom = buf.readByte();
        if (atLeastNbRoom < 0)
            throw new RuntimeException("Forbidden value on atLeastNbRoom = " + atLeastNbRoom + ", it doesn't respect the following condition : atLeastNbRoom < 0");
        atLeastNbChest = buf.readByte();
        if (atLeastNbChest < 0)
            throw new RuntimeException("Forbidden value on atLeastNbChest = " + atLeastNbChest + ", it doesn't respect the following condition : atLeastNbChest < 0");
        skillRequested = buf.readShort();
        if (skillRequested < 0)
            throw new RuntimeException("Forbidden value on skillRequested = " + skillRequested + ", it doesn't respect the following condition : skillRequested < 0");
        maxPrice = buf.readInt();
        if (maxPrice < 0)
            throw new RuntimeException("Forbidden value on maxPrice = " + maxPrice + ", it doesn't respect the following condition : maxPrice < 0");
    }