Projo RCG should use a generated constructor to initialize fields, not Java reflection (see RuntimeCodeGenerationProjo.initializer). This leads to a hybrid approach where most of the code is generated at runime, but a few things are still handled by reflection.