title: What is the difference of annotating @Builder on constructor or on class declaration? (Lombok)
body: <p>What is the difference between these two usage of <code>@Builder</code>?</p>
  
  <pre><code>import lombok.*;
  
  class BuilderAnnotationOnConstructor{
  
      Integer fieldOne, fieldTwo;
  
      @Builder
      public BuilderAnnotationOnConstructor(int fieldOne, int fieldTwo) {
          this.fieldOne = fieldOne;
          this.fieldTwo = fieldTwo;
      }
  }
  
  @Builder
  class BuilderAnnotationOnClass{
  
      Integer fieldOne, fieldTwo;
  
      public BuilderAnnotationOnClass(int fieldOne, int fieldTwo) {
          this.fieldOne = fieldOne;
          this.fieldTwo = fieldTwo;
      }
  }
  </code></pre>
  
  <p>They both compile and run fine but I have noticed weird behaviors in the second case when the annotation is on the class declaration (e.g. in a large project of mine, attributes values assigned to wrong/swapped variable names; unfortunately I was not able to reproduce these behaviors in this simple example)</p>