annotation processing both for Java and Groovy