countGenerator.addLine("EnumeratedDomain retval(true);");
countGenerator.addLine("EnumeratedDomain retval(true, EnumeratedDomain::getDefaultTypeName().c_str());");
  private String evalTransactions(IXMLElement elem, LinkedList funcImpls) throws TestLangRuntimeException {    IXMLElement spec = elem.getChildAtIndex(0);    String info = spec.getFirstChildNamed("EnumeratedDomain").getFirstChildNamed("Value").getContent().trim();    header.unindent();    header.addLine("public:");    header.indent();    if(spec.getName().equals("name"))      addTransaction(info);    else if(spec.getName().equals("type")) {      if(transactionTypeMap.get(info) == null)        throw new TestLangRuntimeException("'" + info + "' is not a valid transaction type.");      List functions = (List) transactionTypeMap.get(info);      for(Iterator it = functions.iterator(); it.hasNext();)        addTransaction((String)it.next());    }    header.unindent();    header.addLine("private:");    header.indent();    header.addLine("EnumeratedDomain countGenerator();");    CppFile countGenerator = new CppFile();    countGenerator.addLine("EnumeratedDomain " + name + "::countGenerator() {");    countGenerator.indent();    countGenerator.addLine("EnumeratedDomain retval(true);");    countGenerator.addLine("for(int i = 0; i < m_transactionCounter; i++)");    countGenerator.indent();    countGenerator.addLine("retval.insert((double)i);");    countGenerator.unindent();    countGenerator.addLine("retval.close();");    countGenerator.addLine("return retval;");    countGenerator.unindent();    countGenerator.addLine("}");    funcImpls.add(countGenerator);    return "countGenerator()";  }