What is the difference between `@Documented` and `@Retention` annotations?
`@Documented` tells the Java compiler to include annotations in the Javadoc, and `@Retention` specifies whether the annotation is available during compile time, class loading, or runtime.
Thatâ€™s partially correct. While both annotations serve different purposes, `@Documented` has more to do with generating API documentation, and `@Retention` focuses on the lifecycle of the annotation.
Can you describe how `@RetentionPolicy.SOURCE` affects the annotation at compile-time?