+ buildFactoryGetter()
+ factoryClass
    private void genFieldGetterMethod(        String fieldName,        String fieldType,        String fieldClass,        String fieldIndex) {        println("  public " + fieldClass + " get" + fieldName + "() {");        if (fieldType.equals("str")) {            println(                "   return ((aterm.ATermAppl) getArgument("                    + fieldIndex                    + ")).getAFun().getName();");        } else if (fieldType.equals("int")) {            println(                "   return ((aterm.ATermInt) getArgument(" + fieldIndex + ")).getInt();");        } else if (fieldType.equals("real")) {            println(                "   return ((aterm.ATermReal) getArgument("                    + fieldIndex                    + ")).getReal();");        } else if (fieldType.equals("term")) {            println("   return getArgument(" + fieldIndex + ");");        } else if (fieldType.equals("chars")) {            println(                "   return "                    + buildFactoryGetter()                    + ".charsToString(getArgument("                    + fieldIndex                    + "));");        } else {            println("    return (" + fieldClass + ") getArgument(" + fieldIndex + ");");        }        println("  }");        println();    }