java code generator phase