public CheckingAccountBean load(CheckingAccount model, boolean onlyLazy) {

    if (model == null) throw new IllegalStateException();

    this.model = model;
    this.id = model.getId();
    this.bankUnit = new BankUnitBean().load(model.getBankUnit());
    this.name = model.getName();
    this.digit = model.getDigit();
    this.number = model.getNumber();
    this.opening = model.getOpening();
    this.start = model.getStart();
    this.startBalance = model.getStartBalance();
    this.active = model.isActive();

    List<CollectionAccountBean> collAcclist = new ArrayList<CollectionAccountBean>();
    for (CollectionAccount coll : model.getCollectionAccounts()) {
      collAcclist.add(new CollectionAccountBean().load(coll));
    }
    setCollectionAccounts(collAcclist);

    return this;
  }
  @Override
  public CheckingAccount build(GenericFactory<CheckingAccount> factory) {
    if (model == null) model = new CheckingAccount();

    model.setBankUnit(getBankUnit().build(null));
    model.setName(name);
    model.setNumber(number);
    model.setOpening(opening);
    model.setStart(start);
    model.setStartBalance(startBalance);
    model.setDigit(getDigit());
    model.setActive(isActive());

    Set<CollectionAccount> collAcclist = new HashSet<CollectionAccount>();
    for (CollectionAccountBean coll : getCollectionAccounts()) {
      collAcclist.add(coll.build(null));
    }
    model.setCollectionAccounts(collAcclist);

    return model;
  }