diff --git a/processor/src/main/resources/org.mapstruct.ap.model.BeanMappingMethod.ftl b/processor/src/main/resources/org.mapstruct.ap.model.BeanMappingMethod.ftl index 54301f3ff..eb98b7ba6 100644 --- a/processor/src/main/resources/org.mapstruct.ap.model.BeanMappingMethod.ftl +++ b/processor/src/main/resources/org.mapstruct.ap.model.BeanMappingMethod.ftl @@ -27,11 +27,13 @@ <#if !existingInstanceMapping><@includeModel object=resultType/> ${resultName} = <#if factoryMethod??><@includeModel object=factoryMethod targetType=resultType raw=true/><#else>new <@includeModel object=resultType/>(); <#if (sourceParameters?size > 1)> <#list sourceParameters as sourceParam> - if ( ${sourceParam.name} != null ) { - <#list propertyMappingsByParameter[sourceParam.name] as propertyMapping> - <@includeModel object=propertyMapping targetBeanName=resultName existingInstanceMapping=existingInstanceMapping/> - - } + <#if (propertyMappingsByParameter[sourceParam.name]?size > 0)> + if ( ${sourceParam.name} != null ) { + <#list propertyMappingsByParameter[sourceParam.name] as propertyMapping> + <@includeModel object=propertyMapping targetBeanName=resultName existingInstanceMapping=existingInstanceMapping/> + + } + <#else> <#list propertyMappingsByParameter[sourceParameters[0].name] as propertyMapping>