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