Precondition.checkMustNotBeNull(keyTypeName, "keyTypeName"); //$NON-NLS-1$
LOG.debug("{}に対するグループ比較器を生成します", model.getStageBlock());
Engine engine = new Engine(environment, model, keyTypeName);
CompilationUnit source = engine.generate();
environment.emit(source);
Name packageName = source.getPackageDeclaration().getName();
SimpleName simpleName = source.getTypeDeclarations().get(0).getName();
Name name = environment.getModelFactory().newQualifiedName(packageName, simpleName);
LOG.debug("{}のグループ比較には{}が利用されます",
model.getStageBlock(),
name);
return name;
}