title: How do different retention policies affect my annotations?
body: <p>Can anyone explain in a clear way the practical differences between the <code>java.lang.annotation.RetentionPolicy</code> constants <code>SOURCE</code>, <code>CLASS</code>, and <code>RUNTIME</code>?</p>
  
  <p>I'm also not exactly sure what the phrase "retaining annotation" means.</p>