/**
   * 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;
  }
  /**
   * 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;
  }