title: Use custom setter in Lombok's builder
body: <p>I have a custom setter in my Lombok-based POJO:</p>
  
  <pre><code>@Data
  @Builder
  public class User {
      private static final PasswordEncoder ENCODER = new BCryptPasswordEncoder();
  
      private String password = null;
  
      public void setPassword(String password) {
          Assert.notNull(password);
          this.password = ENCODER.encode(password);
      }
  </code></pre>
  
  <p>but when I use the Lombok generated builder:</p>
  
  <pre><code>User user = User.builder()
      .password(password)
      .build();
  </code></pre>
  
  <p>my custom setter is not invoked, and so the password is not encoded. This makes me sad. </p>
  
  <p>My custom setter is, of course, invoked when I use it directly:</p>
  
  <pre><code>public void changePassword(String password, User user) {
      user.setPassword(password);
  }
  </code></pre>
  
  <p>What can I do to have Lombok's builder use my custom setter?</p>