if (hasToPayAdministrativeOfficeFee()) { result.add(new EntryDTO(EntryType.ADMINISTRATIVE_OFFICE_FEE, this, amountToPay .subtract(insuranceAmountToDiscount)));
final Money remainingAmount = amountToPay.subtract(insuranceAmountToDiscount); if (remainingAmount.isPositive()) { result.add(buildAdministrativeOfficeFeeEntryDTO(remainingAmount));
    private List<EntryDTO> buildEntryDTOsFrom(final Money amountToPay) {	final List<EntryDTO> result = new ArrayList<EntryDTO>(2);	Money insuranceAmountToDiscount = Money.ZERO;	if (hasToPayInsurance()) {	    insuranceAmountToDiscount = getInsuranceAmount();	    result.add(new EntryDTO(EntryType.INSURANCE_FEE, this, insuranceAmountToDiscount));	}	if (hasToPayAdministrativeOfficeFee()) {	    result.add(new EntryDTO(EntryType.ADMINISTRATIVE_OFFICE_FEE, this, amountToPay		    .subtract(insuranceAmountToDiscount)));	}	return result;    }