@SubtypeOf(value=I18nUnknownFormat.class) @Retention(value=RUNTIME) @Target(value={TYPE_USE,TYPE_PARAMETER}) public @interface I18nFormat
MessageFormat.format.
 The annotation's value represents the valid arguments that may be passed to the format method. For example:
 @I18nFormat({I18nConversionCategory.GENERAL, I18nConversionCategory.NUMBER})
 String f = "{0}{1, number}"; // valid
 String f = "{0} {1} {2}"; // error, the format string is stronger (more restrictive) than the specifiers.
 String f = "{0, number} {1, number}"; // error, the format string is stronger (NUMBER is a subtype of GENERAL).
 
 The annotation indicates that the format string requires any object as the first parameter
 (I18nConversionCategory.GENERAL) and a number as the second parameter (I18nConversionCategory.NUMBER).I18nConversionCategory| Modifier and Type | Required Element and Description | 
|---|---|
| I18nConversionCategory[] | valueAn array of  I18nConversionCategory, indicating the types of legal remaining arguments
 when a value of the annotated type is used as the first argument toMessage.format. | 
public abstract I18nConversionCategory[] value
I18nConversionCategory, indicating the types of legal remaining arguments
 when a value of the annotated type is used as the first argument to Message.format.