1. Optional Value
An option is either required or not and, generally speaking, how it behaves depends on a command target:
CommandRegistration.builder()
.withOption()
.longNames("arg1")
.required()
.and()
.build();
In the annotation model, there is no direct way to define if argument is
optional. Instead, it is instructed to be NULL:
public String example(
@ShellOption(defaultValue = ShellOption.NULL) String arg1
) {
return "Hello " + arg1;
}