I guess, you consider it being optional, because of its nullability, but this is not how Lombok sees it. Both arguments are required because of
makeFinal=true. Any field which is
@NonNull or
final counts as required for Lombok. You'd need a NonNullArgsConstructor, which does not exist.
This could be useful sometimes, but I doubt such a FR would get accepted. With enums, I often have something like
Z(),
A("a1"),
B("b1", "b2"),
where I need many constructors and I have to write them manually (which is, fortunately, easy). Default arguments would help, but it's getting pretty complicated for not so much gain.
As a side note, I'd suggest using the empty string instead of null, if possible.