final Map<Object, Object> translated) {
if (translated.containsKey((source))) {
return (SimpleCustomerDto) translated.get(source);
}
Assert.notNull(source, "argument [source] may not be null");
SimpleCustomerDto result = new SimpleCustomerDto(source.getId(), source
.getVersion());
result.setCustomerNr(source.getCustomerNr());
result.setLastName(source.getLastName());
result.setFirstName(source.getFirstName());
result.setBlackListed(source.isBlackListed());
result.setUsername(source.getUsername());
result.setSexe(sexeTranslator.toDto(source.getSexe()));
result.setBirthDate(source.getBirthDate());
translated.put(source, result);
for (Order element : source.getOrders()) {
result.addToOrders(orderNumberAndDateDtoTranslator.toDto(element,
translated));
}
for (Artist element : source.getIdols()) {
result.addToIdols(artistDtoTranslator.toDto(element, translated));
}
for (Artist element : source.getRelatedTo()) {
result.addToRelatedTo(disLikesDtoTranslator.toDto(element,
translated));
}
return result;
}