}
// if empty, we're probably extending an existing factory
if (factory.getTypeArguments().size() > 0) {
DeclaredType argument = ((DeclaredType) factory.getTypeArguments().get(0));
TypeElement factoryType = (TypeElement) argument.asElement();
if (!factoryType.getQualifiedName().equals(declaration.getQualifiedName())) {
success = false;
messager.printMessage(ERROR,
format("Expected EntityFactory<%s>, but found EntityFactory<%s>",
declaration.getSimpleName(),