title: Lombok @Wither Inheritance (super-/sub- classes)
body: <p>Please suggest how to use <code>@Wither</code> when inheritance applied.  </p>
  
  <p>I have an abstract class <code>Parent</code> and concrete <code>Child</code>. <code>Child</code> is supposed to be immutable. Putting <code>@Wither</code> on both gives me two errors:</p>
  
  <ul>
  <li>The constructor Child(String) is undefined</li>
  <li>The type Child must implement the inherited abstract method
  Parent.withA(String)</li>
  </ul>
  
  <pre class="lang-java prettyprint-override"><code>@Value
  @Wither
  @NonFinal
  @SuperBuilder
  abstract class Parent {
      String a;
  }
  
  @Value
  @Wither
  @EqualsAndHashCode(callSuper = true)
  @SuperBuilder
  class Child extends Parent {
      String b;
  }
  </code></pre>
  
  <p>I'd be happy to just remove <code>@Wither</code> and use the builder methods, but I'm refactoring a public library (trying to optimize the model classes) and I don't want compilation errors on my clients.</p>
  
  <p>I also found this issue that explains the second error. But the logic of the intention is not clear <a href="https://github.com/rzwitserloot/lombok/issues/945" rel="noreferrer">https://github.com/rzwitserloot/lombok/issues/945</a></p>