@Retention(value=CLASS)
@Target(value={PACKAGE,TYPE,ANNOTATION_TYPE,CONSTRUCTOR,METHOD,FIELD})
public @interface Keep
Denotes that the annotated element should not be removed when
the code is minified at build time. This is typically used
on methods and classes that are accessed only via reflection
so a compiler may think that the code is unused.