Program: 73778
Project: 73778
Buggy source:
/** 
 * Execute the necessary commands to save/update a model in the database according to the model specification given in the task parameter.
 * @param task a SaveModelTask to be completed.
 * @exception DBExecutionException Thrown if there is a problem executingthe task.
 */
public void executeSaveModelTask(SaveModelTask task) throws DBExecutionException {
  try {
    if (_xmlContainer == null) {
      throw new DBExecutionException("String_Node_Str" + "String_Node_Str" + "String_Node_Str");
    }
    if (_xmlTransaction == null) {
      throw new DBExecutionException("String_Node_Str" + "String_Node_Str" + "String_Node_Str");
    }
    if (task == null) {
      throw new DBExecutionException("String_Node_Str" + "String_Node_Str");
    }
    XMLDBModel xmlDBModel=task.getXMLDBModel();
    if (xmlDBModel == null) {
      throw new DBExecutionException("String_Node_Str" + "String_Node_Str" + "String_Node_Str");
    }
    XmlDocument currentDbModel=null;
    try {
      currentDbModel=_xmlContainer.getDocument(_xmlTransaction,xmlDBModel.getModelName());
    }
 catch (    XmlException e) {
    }
    if (currentDbModel == null) {
      throw new DBExecutionException("String_Node_Str" + "String_Node_Str" + "String_Node_Str");
    }
 else {
      String modelBody=xmlDBModel.getModel();
      modelBody=modelBody.substring(modelBody.indexOf("String_Node_Str"));
      currentDbModel.setContent(modelBody);
      _xmlContainer.updateDocument(_xmlTransaction,currentDbModel);
    }
  }
 catch (  XmlException e) {
    throw new DBExecutionException("String_Node_Str" + e.getMessage(),e);
  }
}

Fixed version (ground truth):
/** 
 * Execute the necessary commands to save/update a model in the database according to the model specification given in the task parameter.
 * @param task a SaveModelTask to be completed.
 * @exception DBExecutionException Thrown if there is a problem executingthe task.
 */
public void executeSaveModelTask(SaveModelTask task) throws DBExecutionException {
  try {
    if (_xmlContainer == null) {
      throw new DBExecutionException("String_Node_Str" + "String_Node_Str" + "String_Node_Str");
    }
    if (_xmlTransaction == null) {
      throw new DBExecutionException("String_Node_Str" + "String_Node_Str" + "String_Node_Str");
    }
    if (task == null) {
      throw new DBExecutionException("String_Node_Str" + "String_Node_Str");
    }
    XMLDBModel xmlDBModel=task.getXMLDBModel();
    if (xmlDBModel == null) {
      throw new DBExecutionException("String_Node_Str" + "String_Node_Str" + "String_Node_Str");
    }
    XmlDocument currentDbModel=null;
    try {
      currentDbModel=_xmlContainer.getDocument(_xmlTransaction,xmlDBModel.getModelName());
    }
 catch (    XmlException e) {
    }
    if (currentDbModel == null) {
      throw new DBExecutionException("String_Node_Str" + "String_Node_Str" + "String_Node_Str");
    }
 else {
      String modelBody=xmlDBModel.getModel();
      if (modelBody.indexOf("String_Node_Str") >= 0) {
        modelBody=modelBody.substring(modelBody.indexOf("String_Node_Str"));
        modelBody=modelBody.substring(modelBody.indexOf("String_Node_Str") + 1);
      }
      _xmlContainer.deleteDocument(_xmlTransaction,currentDbModel);
      _xmlContainer.putDocument(_xmlTransaction,xmlDBModel.getModelName(),modelBody);
    }
  }
 catch (  XmlException e) {
    throw new DBExecutionException("String_Node_Str" + e.getMessage(),e);
  }
}