static factory method on @RequiredArgsConstructor

Each of these annotations allows an alternate form, where the generated constructor is always private, and an additional static factory method that wraps around the private constructor is generated. This mode is enabled by supplying the staticName value for the annotation, like so: @RequiredArgsConstructor(staticName=”of”). Such a static factory method will infer generics, unlike a normal constructor.
package sample.lombok;import lombok.RequiredArgsConstructor;@RequiredArgsConstructor(staticName="of")public class Main {    private final String required;    private int optional;}