This week's book giveaway is in the Mac OS forum. We're giving away four copies of a choice of "Take Control of Upgrading to Yosemite" or "Take Control of Automating Your Mac" and have Joe Kissell on-line! See this thread for details.
RequestForEnhancement is not an interface, it's the annotation itself. And you can use it on any package, annotation, class, interface, constructor, method, field, parameter or even local variables, until you specify differently using the annotation Target. For example:
Sun decided not to use a new keyword for annotations (possibly to not break old code that uses annotation as variable names), but instead use @interface for that. It can be a bit confusing at first, but once you remember what the extra @ means there shouldn't be much problems.