JavaGenerationParameters params, GenerationObserver observer) {
TypeConverter typeConverter = new TypeConverter(
new JavaTypeConversions("factory"));
Iterator<Type> typeIterator = adt.typeIterator();
while (typeIterator.hasNext()) {
Type type = typeIterator.next();
if (type instanceof ListType) {
if (type instanceof SeparatedListType) {
run(new SeparatedListTypeGenerator(params,
(SeparatedListType) type), observer);
} else {
run(new ListTypeGenerator(adt, params, (ListType) type),
observer);
}
} else if (!typeConverter.isReserved(type.getId())) {
run(new TypeGenerator(params, type), observer);
generateAlternativeClasses(adt, params, type, observer);
}
}
}