What is the purpose of the `@Retention` annotation in Java?
The `@Retention` annotation is used to define whether an annotation should be retained in the source code, compiled bytecode, or runtime environment.
Thatâ€™s partially correct. The `@Retention` annotation defines how long annotations are retained in the bytecode or at runtime, but it doesn't specifically manage the source code level.
Can you describe what happens if an annotation is retained only at runtime?