title: Lombok @NonNull annotation with @Builder not reflecting in test coverage
body: <p>I have come across an issue while testing <strong>lombok</strong> annotated class.
  Description :-</p>
  <p>When we annotate a java class(POJO) with <code>@Builder</code>, and have certain instance variable with <code>@NonNull</code> constraints, while writing the test case to check for <code>NullPointerException</code>, we cannot instantiate the <strong>POJO</strong> with builder and expect it will evaluate against the null check.I delomboked the class and saw that the non null constraint flows inside the generated builder class itself which means a null pointer exception is thrown even before we construct the object.This is a correct behavior in some sense but I needed to know if I can test such a scenario.</p>
  <pre><code>@Builder
  public class Sample {
      @NonNull
      private final String a;
      private final String b;
  }
  </code></pre>
  <p>Now I need to test the case where NullPointerException is thrown in case 'a' is Null.
  For such a scenario I have 2 options:</p>
  <ul>
  <li>Either I can create the Sample class with constructor - <code>new Sample(null, null)</code></li>
  <li>Or I can create through builder - <code>Sample.builder.a(null).build();</code></li>
  </ul>
  <p>My question is on the second part as first one will work just fine.
  When I delombok this I will get something like :-</p>
  <pre><code>public class Sample {
      @NonNull
      private final String a;
      private final String b;
  
      Sample(@NonNull String a, String b) {
          this.a = a;
          this.b = b;
      }
  
      public static SampleBuilder builder() {
          return new SampleBuilder();
      }
  
      public static class SampleBuilder {
          private @NonNull String a;
          private String b;
  
          SampleBuilder() {
          }
  
          public SampleBuilder a(@NonNull String a) {
              this.a = a;
              return this;
          }
  
          public SampleBuilder b(String b) {
              this.b = b;
              return this;
          }
  
          public Sample build() {
              return new Sample(a, b);
          }
  
          public String toString() {
              return &quot;Sample.SampleBuilder(a=&quot; + this.a + &quot;, b=&quot; + this.b + &quot;)&quot;;
          }
      }
  }
  </code></pre>
  <p>Here if you see NullPointerException will be thrown inside SampleBuilder itself as it takes <code>@NonNull</code> arguments and constructor will never execute the condition to check for non null attribute due to which test coverage will fall.If we use <code>@SuperBuilder</code> , this will not happen as it does not take <code>@NonNull</code> in builder arguments.</p>