/**
   * Eine Kopie von einem ZVKonto erstellen. Die ZVTitel werden auch kopiert.
   *
   * @return ein kopiertes ZVKonto
   */
  public Object cloneWhole() {
    ZVKonto result =
        new ZVKonto(
            this.getId(),
            this.getHaushaltsJahrId(),
            this.getBezeichnung(),
            this.getKapitel(),
            this.getTitelgruppe(),
            this.getTgrBudget(),
            this.getDispoLimit(),
            this.getZweckgebunden(),
            this.getFreigegeben(),
            this.getUebernahmeStatus(),
            this.isPortiert(),
            this.isAbgeschlossen(),
            this.getGeloescht());
    ArrayList zvTitel = new ArrayList();
    ZVTitel temp = null;
    for (int i = 0; i < this.getSubTitel().size(); i++) {
      zvTitel.add(temp = (ZVTitel) ((ZVTitel) this.getSubTitel().get(i)).cloneWhole());
      temp.setZVKonto(result);
    }
    result.setSubTitel(zvTitel);

    return result;
  }
 /**
  * Ermittlung ob zwei ZVKonten gleich sind. <br>
  * Zwei ZVKonten sind identisch, wenn das Kapitel und Titelgruppe gleich sind.
  *
  * @return true = wenn die Konten gleich sind, Sonst = false
  */
 public boolean equals(Object o) {
   if (o == null) return false;
   if (o.getClass().getName().equalsIgnoreCase(this.getClass().getName())) {
     ZVKonto zvKonto = (ZVKonto) o;
     if (this.kapitel.equalsIgnoreCase(zvKonto.getKapitel())
         && this.titelgruppe.equalsIgnoreCase(zvKonto.getTitelgruppe())) return true;
   }
   return false;
 }
 /**
  * Aktualisieren eines ZVKontos. Id wird nicht aktualisiert.
  *
  * @param zvKonto = ZVKonto von dem die neuen Daten übernommen werden.
  */
 public void setZVKonto(ZVKonto zvKonto) {
   setHaushaltsJahrId(zvKonto.getHaushaltsJahrId());
   setBezeichnung(zvKonto.getBezeichnung());
   setKapitel(zvKonto.getKapitel());
   setTitelgruppe(zvKonto.getTitelgruppe());
   setTgrBudget(zvKonto.getTgrBudget());
   setDispoLimit(zvKonto.getDispoLimit());
   setZweckgebunden(zvKonto.getZweckgebunden());
   setFreigegeben(zvKonto.getFreigegeben());
   setUebernahmeStatus(zvKonto.getUebernahmeStatus());
   setGeloescht(zvKonto.getGeloescht());
 }
  /**
   * Eine Kopie von einem ZVKonto erstellen. Die ZVTitel werden nicht kopiert.
   *
   * @return ein kopiertes ZVKonto
   */
  public Object clone() {
    ZVKonto result =
        new ZVKonto(
            this.getId(),
            this.getHaushaltsJahrId(),
            this.getBezeichnung(),
            this.getKapitel(),
            this.getTitelgruppe(),
            this.getTgrBudget(),
            this.getDispoLimit(),
            this.getZweckgebunden(),
            this.getFreigegeben(),
            this.getUebernahmeStatus(),
            this.isPortiert(),
            this.isAbgeschlossen(),
            this.getGeloescht());
    result.setSubTitel(new ArrayList());

    return result;
  }