public AbstractRechnungDO<T> addPosition(final T position) { ensureAndGetPositionen(); short number = 1; for (final T pos : positionen) { if (pos.getNumber() >= number) { number = pos.getNumber(); number++; } } position.setNumber(number); position.setRechnung(this); this.positionen.add(position); return this; }