this.exptId = null;
  public PopulateDb(String cmtAsbID, String societyName,		    String assemblyId, DBConflictHandler ch)    throws SQLException, IOException  {    super();    createLogger();    if (ch == null) throw new IllegalArgumentException("null conflict handler");    this.conflictHandler = ch;    this.cmtType = csaType;    substitutions.put(":cmt_type:", cmtType);    if (assemblyId != null) {      // Society already in DB.      // check by looking it up?      // Remove the previous definition of that assembly      // in preparation for saving this definition      // However, no point in removing the OPLAN stuff      // or the line in asb_assembly. Hence the second argument.      cleanAssembly(assemblyId, true);    } else {      // Create new CSA assembly to hold the data, copying OPLAN info if any      // Also set the csaAssemblyId and cmtAssemblyId parameters      try {	// Save this ID someplace? The creator stuffs	// it in the CSA slot        assemblyId = createCSAAssembly(cmtAsbID, societyName);	cmtAssemblyId = assemblyId;      } catch( SQLException se ) {        if(log.isErrorEnabled()) {          log.error("createCSAAssembly error: ", se);        }      }     }    substitutions.put(":assembly_id:", sqlQuote(assemblyId));    cmtAssemblyId = assemblyId;    // OK, at this point we're ready to save out the society    // Must set the assembly_match variable    List tmp = new ArrayList();    tmp.add(cmtAssemblyId);    String asbmatch = DBUtils.getAssemblyMatch(tmp);    substitutions.put(":assembly_match:", asbmatch);  } // End of constructor for saving just a society