Java code generation