@Target(value=PARAMETER)
@Retention(value=RUNTIME)
public @interface Optional
Note that certain parameters may be marked as optional even if this annotation
is not present. As of now, these will always be marked as Optional:
Default on itSized such that Sized.min() == 0