@Target(value=PARAMETER) @Retention(value=RUNTIME) @Documented public @interface Header
public abstract boolean required
Default is true, leading to an exception if the header is
 missing. Switch this to false if you prefer a null
 value in case of a header missing.
defaultValue()public abstract String defaultValue
Supplying a default value implicitly sets required() to false.