diff --git a/processor/src/main/java/org/mapstruct/ap/model/PropertyMapping.java b/processor/src/main/java/org/mapstruct/ap/model/PropertyMapping.java index 53a8f5d11..efce549fb 100644 --- a/processor/src/main/java/org/mapstruct/ap/model/PropertyMapping.java +++ b/processor/src/main/java/org/mapstruct/ap/model/PropertyMapping.java @@ -302,7 +302,14 @@ public class PropertyMapping extends ModelElement { // mapping method. Note, typeconversons do not apply to collections or maps Assignment newCollectionOrMap = null; if ( result.getType() == DIRECT ) { - newCollectionOrMap = new NewCollectionOrMapWrapper( result, targetType.getImportTypes() ); + Set implementationTypes; + if ( targetType.getImplementationType() != null ) { + implementationTypes = targetType.getImplementationType().getImportTypes(); + } + else { + implementationTypes = targetType.getImportTypes(); + } + newCollectionOrMap = new NewCollectionOrMapWrapper( result, implementationTypes ); newCollectionOrMap = new SetterWrapper( newCollectionOrMap, method.getThrownTypes() ); }