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