see http://stackoverflow.com/questions/1458535/which-types-can-be-used-for-java-annotation-members