title: What can you do and not do with java annotations?
body: <p>The typical use-case is for simple things like @Override, but clearly you can do a lot more with them. If you push the limits of them, you get things like <a href="http://projectlombok.org/" rel="noreferrer">Project Lombok</a>, though my understanding is that that's a huge abuse of annotations. What exactly can you do? What sort of things can you do at compile-time and run-time with annotations? What can you not do? </p>