public Result<IVerrechenbar> add(final IVerrechenbar code, final Konsultation kons) { List<Verrechnet> old = kons.getLeistungen(); Verrechnet foundVerrechnet = null; for (Verrechnet verrechnet : old) { IVerrechenbar vrElement = verrechnet.getVerrechenbar(); if (vrElement == null) { // #2454 This should not happen, may however if we have to consider // elements where the responsible plugin is not available if (log == null) log = LoggerFactory.getLogger(DefaultOptifier.class); log.error( "IVerrechenbar is not resolvable in " + verrechnet.getId() + " is " + verrechnet.get(Verrechnet.CLASS) + " available?"); continue; } if (vrElement.getId().equals(code.getId())) { if (verrechnet.getText().equals(code.getText())) { foundVerrechnet = verrechnet; break; } } } if (foundVerrechnet != null) { foundVerrechnet.changeAnzahl(foundVerrechnet.getZahl() + 1); } else { newVerrechnet = new Verrechnet(code, kons, 1); old.add(newVerrechnet); } return new Result<IVerrechenbar>(code); }