@Override
    public void deserialize(Buffer buf) {
        super.deserialize(buf);
        partyType = buf.readByte();
        if (partyType < 0)
            throw new RuntimeException("Forbidden value on partyType = " + partyType + ", it doesn't respect the following condition : partyType < 0");
        fromId = buf.readInt();
        if (fromId < 0)
            throw new RuntimeException("Forbidden value on fromId = " + fromId + ", it doesn't respect the following condition : fromId < 0");
        fromName = buf.readString();
        leaderId = buf.readInt();
        if (leaderId < 0)
            throw new RuntimeException("Forbidden value on leaderId = " + leaderId + ", it doesn't respect the following condition : leaderId < 0");
        int limit = buf.readUShort();
        members = new PartyInvitationMemberInformations[limit];
        for (int i = 0; i < limit; i++) {
            members[i] = new PartyInvitationMemberInformations();
            members[i].deserialize(buf);
        }
        limit = buf.readUShort();
        guests = new PartyGuestInformations[limit];
        for (int i = 0; i < limit; i++) {
            guests[i] = new PartyGuestInformations();
            guests[i].deserialize(buf);
        }
    }