Из документа Java:
КЛАСС: Аннотации должны быть записаны в файл класса компилятором, но не должны сохраняться виртуальной машиной во время выполнения.
RUNTIME: аннотации должны быть записаны в файл класса компилятором и сохранены виртуальной машиной во время выполнения, чтобы они могли быть прочитаны рефлексивно.
ИСТОЧНИК: Аннотации должны быть исключены компилятором.
Я понимаю использование RUNTIME (для использования аннотации с отражением) и CLASS (для компилятора), но я не понимаю, когда это может быть полезно для использования
@Retention (RetentionPolicy.SOURCE)
Вы можете объяснить?