title: Mapstruct with @MappingTarget don't call lombok Builder build()
body: <p>I'm trying to create patch method with Mapstruct mapping and Lombok Builder.
  But in generated code missing <code>build()</code> call</p>
  
  <p>Mapper with removing null values:</p>
  
  <pre><code>@Mapper(
          nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS,
          nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE
  
  )
  public interface CartMapper {
      CartMapper INSTANCE = Mappers.getMapper(CartMapper.class);
  
      Cart cartRequestToCart(CartRequest cartRequest);
  
      Cart patch(CartRequest cartRequest, @MappingTarget Cart cart);
  }
  </code></pre>
  
  <p>Nested classes have same lombok annotations as Cart:</p>
  
  <pre><code>@Builder
  @AllArgsConstructor(access = AccessLevel.PACKAGE)
  @Getter
  @Setter
  @FieldDefaults(level = AccessLevel.PRIVATE)
  public class Cart {
  
      Customer customer;
      Owner owner;
      Integer price;
      String voucher;
  }
  
  </code></pre>
  
  <p>All nested classes have same lombok annotations as CartRequest and structure is same as target entities structure</p>
  
  <pre><code>@Data
  @FieldDefaults(level = AccessLevel.PRIVATE)
  public class CartRequest {
      CustomerRequest customer;
      OwnerRequest owner;
      Integer price;
      String voucher;
  }
  
  </code></pre>
  
  <p>For method <code>cartRequestToCart</code> everything is OK, builders are called here and also in nested methods</p>
  
  <pre><code>    @Override
      public Cart cartRequestToCart(CartRequest cartRequest) {
          if ( cartRequest == null ) {
              return null;
          }
  
          CartBuilder cart = Cart.builder();
  
          if ( cartRequest.getCustomer() != null ) {
              cart.customer( customerRequestToCustomer( cartRequest.getCustomer() ) );
          }
          if ( cartRequest.getOwner() != null ) {
              cart.owner( ownerRequestToOwner( cartRequest.getOwner() ) );
          }
          if ( cartRequest.getPrice() != null ) {
              cart.price( cartRequest.getPrice() );
          }
          if ( cartRequest.getVoucher() != null ) {
              cart.voucher( cartRequest.getVoucher() );
          }
  
          return cart.build();
      }
  </code></pre>
  
  <p>For method <code>patch</code> is generated this and here in some setters missing <code>build()</code> call</p>
  
  <pre><code>    @Override
      public Cart patch(CartRequest cartRequest, Cart cart) {
          if ( cartRequest == null ) {
              return null;
          }
  
          if ( cartRequest.getCustomer() != null ) {
              if ( cart.getCustomer() == null ) {
                  cart.setCustomer( Customer.builder() ); // HERE build() missing
              }
              customerRequestToCustomer1( cartRequest.getCustomer(), cart.getCustomer() );
          }
          if ( cartRequest.getOwner() != null ) {
              if ( cart.getOwner() == null ) {
                  cart.setOwner( Owner.builder() ); // HERE build() missing
              }
              ownerRequestToOwner1( cartRequest.getOwner(), cart.getOwner() );
          }
          if ( cartRequest.getPrice() != null ) {
              cart.setPrice( cartRequest.getPrice() );
          }
          if ( cartRequest.getVoucher() != null ) {
              cart.setVoucher( cartRequest.getVoucher() );
          }
  
          return cart;
      }
  </code></pre>
  
  <p>Some tips how to fix this? Thanks a lot.</p>