@Override
  public void serialize(DataWriter writer) {

    writer.write_ui16(startedAchievements.length);

    for (int i = 0; i < startedAchievements.length; i++) {

      startedAchievements[i].serialize(writer);
    }

    writer.write_ui16(finishedAchievements.length);

    for (int i = 0; i < finishedAchievements.length; i++) {

      finishedAchievements[i].serialize(writer);
    }
  }
  @Override
  public void serialize(DataWriter writer) {

    super.serialize(writer);

    writer.write_ui16(object.length);

    for (int i = 0; i < object.length; i++) {

      object[i].serialize(writer);
    }
  }
  @Override
  public void serialize(DataWriter writer) {

    writer.write_i32(this.slaveId);

    writer.write_ui16(spellCooldowns.length);

    for (int i = 0; i < spellCooldowns.length; i++) {

      spellCooldowns[i].serialize(writer);
    }

    writer.write_i8(this.summonCount);

    writer.write_i8(this.bombCount);
  }