genInitMethod(); genInitHashcodeMethod(); genConstructor(className(type)); genGetFactoryMethod(); genTermField(); genToTerm(); genToString(); genGetters(); genPredicates(); genSharedObjectInterface(); genGetEmptyMethod(); genInsertMethod(); genOverrideInsertMethod(); println("}"); }
genInitMethod(); genInitHashcodeMethod(); genConstructor(className(type)); genGetFactoryMethod(); genTermField(); genToTerm(); genToString(); genGetters(); genPredicates(); genSharedObjectInterface(); genGetEmptyMethod();  if (!type.getElementType().equals("term")) { genInsertMethod(); } genOverrideInsertMethod(); println("}"); }
	protected void genListTypeClass() {		println("public class " + typeName + " extends aterm.pure.ATermListImpl {");		genInitMethod();		genInitHashcodeMethod();		genConstructor(className(type));		genGetFactoryMethod();		genTermField();		genToTerm();		genToString();		genGetters();		genPredicates();		genSharedObjectInterface();		genGetEmptyMethod();		genInsertMethod();		genOverrideInsertMethod();		println("}");	}