final Map<Object, Object> translated) {
if (translated.containsKey((source))) {
return (FullRecordDto) translated.get(source);
}
Assert.notNull(source, "argument [source] may not be null");
FullRecordDto result = new FullRecordDto(source.getId(), source
.getVersion());
result.setAsin(source.getAsin());
result.setTitle(source.getTitle());
result.setMediumCode(source.getMediumCode());
result.setPrice(source.getPrice());
result.setType(typeTranslator.toDto(source.getType()));
translated.put(source, result);
return result;
}