writer
.emitStatement("%s result = new %s(%s)", pojoTypeDeclaration, pojoTypeDeclaration, arguments.toString());
} else {
ArgumentListM constructorArguments = properties.filterOutPropertiesWritableViaFactoryMethodParameter(builderType);
StringBuilder arguments = new StringBuilder();
for (PropertyM prop : constructorArguments.sortByPosition().getPropertyList()) {
writer
.emitStatement("%s _%s = !%s && %s!=null?%s.build():%s",
writer.compressType(prop.getPropertyType().getGenericType()),
prop.getFactoryMethodParameter().getName(),
prop.getIsSetFieldName(),