Generic Language and Compiler API for Java