println( "  public " + returnTypeName + ' ' + methodName + "(" + paramTypeName + " head, " + formalSeps + returnTypeName + " tail) {"); println( "    return (" + returnTypeName + ") " + methodName + "((aterm.ATerm) head, " + actualSeps + "(aterm.ATermList) tail, factory.getEmpty());"); println("  }"); println(); }
String head; if (!getConverter().isReserved(paramType)) { head = "(aterm.ATerm) head"; } else if (paramType.equals("int")) { head = "factory.makeInt(head)"; } else if (paramType.equals("real")) { head = "factory.makeReal(head)"; } else if (paramType.equals("str")) { head = "factory.makeAppl(factory.makeAFun(head,0,true))"; } else { head = "head"; }  println( "  public " + returnTypeName + ' ' + methodName + "(" + paramTypeName + " head, " + formalSeps + returnTypeName + " tail) {"); println( "    return (" + returnTypeName + ") " + methodName + "(" + head + ", " + actualSeps + "(aterm.ATermList) tail, factory.getEmpty());"); println("  }"); println(); }
	private void genFactoryMakeManySeparatedList(		String returnTypeName,		String methodName,		String paramTypeName,		SeparatedListType type) {		String formalSeps = buildFormalTypedArgumentList(type.separatorFieldIterator());		String actualSeps = buildActualTypedAltArgumentList(type.separatorFieldIterator());		if (formalSeps.length() > 0) {			formalSeps += ", ";			actualSeps += ", ";		}		println(			"  public "				+ returnTypeName				+ ' '				+ methodName				+ "("				+ paramTypeName				+ " head, "				+ formalSeps				+ returnTypeName				+ " tail) {");		println(			"    return ("				+ returnTypeName				+ ") "				+ methodName				+ "((aterm.ATerm) head, "				+ actualSeps				+ "(aterm.ATermList) tail, factory.getEmpty());");		println("  }");		println();	}