GenPackage genPackage = parameter;
genModel = parameter.getGenModel();
boolean canGenerate = new CodegenGeneratorAdapter(parameter).canGenerate("org.eclipse.emf.codegen.ecore.genmodel.generator.TestsProject");
canGenerate = canGenerate && (genPackage.hasClassifiers() && genPackage.isGenerateExampleClass());
return canGenerate;