@Documented @Retention(value: RetentionPolicy.RUNTIME) @Target(value: [ElementType.METHOD, ElementType.CONSTRUCTOR]) @interface FormatMethod
 If this annotation is attached to a Formatter.format-like method,
 then when type-checking calls to the method, it will be a candidate method
 checked by FormatStringChecker.
 The first argument must be of type Locale or String.
 If the first argument is of type Locale, the second argument must be of type String.
 The String argument is treated as a format string containing zero or more embedded
 format specifiers. The format specifiers determine how the remaining arguments will
 be used within the resulting output.
 The FormatStringChecker ensures that the format string is valid and the
 remaining arguments are compatible with the embedded format specifiers.