@Override
    public void deserialize(Buffer buf) {
        spouseAccountId = buf.readInt();
        if (spouseAccountId < 0)
            throw new RuntimeException("Forbidden value on spouseAccountId = " + spouseAccountId + ", it doesn't respect the following condition : spouseAccountId < 0");
        spouseId = buf.readInt();
        if (spouseId < 0)
            throw new RuntimeException("Forbidden value on spouseId = " + spouseId + ", it doesn't respect the following condition : spouseId < 0");
        spouseName = buf.readString();
        spouseLevel = buf.readUByte();
        if (spouseLevel < 1 || spouseLevel > 200)
            throw new RuntimeException("Forbidden value on spouseLevel = " + spouseLevel + ", it doesn't respect the following condition : spouseLevel < 1 || spouseLevel > 200");
        breed = buf.readByte();
        sex = buf.readByte();
        spouseEntityLook = new EntityLook();
        spouseEntityLook.deserialize(buf);
        guildInfo = new BasicGuildInformations();
        guildInfo.deserialize(buf);
        alignmentSide = buf.readByte();
    }