Annotation Type Keep
@Documented
@Target({ANNOTATION_TYPE,CONSTRUCTOR,FIELD,METHOD,TYPE})
@Retention(RUNTIME)
public @interface Keep
Indicates that the annotated element should not be removed, and that its visibility, modifiers,
type, and name should not be modified.
For example, program elements that are referenced via reflection may be annotated to prevent them from being removed by static analysis that detects dead code.
If this annotates another annotation type, any member annotated with that annotation type should also be kept.