@Override
    public void deserialize(Buffer buf) {
        fightId = buf.readInt();
        fightType = buf.readByte();
        if (fightType < 0)
            throw new RuntimeException("Forbidden value on fightType = " + fightType + ", it doesn't respect the following condition : fightType < 0");
        int limit = buf.readUShort();
        fightTeams = new FightTeamInformations[limit];
        for (int i = 0; i < limit; i++) {
            fightTeams[i] = new FightTeamInformations();
            fightTeams[i].deserialize(buf);
        }
        limit = buf.readUShort();
        fightTeamsPositions = new short[limit];
        for (int i = 0; i < limit; i++) {
            fightTeamsPositions[i] = buf.readShort();
        }
        limit = buf.readUShort();
        fightTeamsOptions = new FightOptionsInformations[limit];
        for (int i = 0; i < limit; i++) {
            fightTeamsOptions[i] = new FightOptionsInformations();
            fightTeamsOptions[i].deserialize(buf);
        }
    }