Program: 86630
Project: 86630
Buggy source:
@Override public void load(DataAccess dataset,String[] fieldNames,Object[] fieldValues) throws DatabaseReadException {
  ResultSet rs=null;
  Connection conn=pool.getConnectionFromPool();
  HashMap<String,Object> dataSet=new HashMap<String,Object>();
  try {
    rs=this.getResultSet(conn,dataset,fieldNames,fieldValues,true);
    if (rs != null) {
      if (rs.next()) {
        for (        Column column : dataset.getTableLayout()) {
          if (column.isList()) {
            dataSet.put(column.columnName(),this.getList(column.dataType(),rs.getString(column.columnName())));
          }
 else           if (rs.getObject(column.columnName()) instanceof Boolean) {
            dataSet.put(column.columnName(),rs.getBoolean(column.columnName()));
          }
 else {
            dataSet.put(column.columnName(),rs.getObject(column.columnName()));
          }
        }
      }
    }
  }
 catch (  DatabaseReadException dre) {
    Canary.logStacktrace(dre.getMessage(),dre);
  }
catch (  SQLException ex) {
    Canary.logStacktrace(ex.getMessage(),ex);
  }
catch (  DatabaseTableInconsistencyException dtie) {
    Canary.logStacktrace(dtie.getMessage(),dtie);
  }
 finally {
    try {
      PreparedStatement st=rs.getStatement() instanceof PreparedStatement ? (PreparedStatement)rs.getStatement() : null;
      this.closeRS(rs);
      this.closePS(st);
      pool.returnConnectionToPool(conn);
    }
 catch (    SQLException ex) {
      Canary.logStacktrace(ex.getMessage(),ex);
    }
  }
  try {
    dataset.load(dataSet);
  }
 catch (  DatabaseAccessException ex) {
    Canary.logStacktrace(ex.getMessage(),ex);
  }
}

Fixed version (ground truth):
@Override public void load(DataAccess dataset,String[] fieldNames,Object[] fieldValues) throws DatabaseReadException {
  ResultSet rs=null;
  Connection conn=pool.getConnectionFromPool();
  HashMap<String,Object> dataSet=new HashMap<String,Object>();
  try {
    rs=this.getResultSet(conn,dataset,fieldNames,fieldValues,true);
    if (rs != null) {
      if (rs.next()) {
        for (        Column column : dataset.getTableLayout()) {
          if (column.isList()) {
            dataSet.put(column.columnName(),this.getList(column.dataType(),rs.getString(column.columnName())));
          }
 else           if (rs.getObject(column.columnName()) instanceof Boolean) {
            dataSet.put(column.columnName(),rs.getBoolean(column.columnName()));
          }
 else {
            dataSet.put(column.columnName(),rs.getObject(column.columnName()));
          }
        }
      }
    }
  }
 catch (  DatabaseReadException dre) {
    Canary.logStacktrace(dre.getMessage(),dre);
  }
catch (  SQLException ex) {
    Canary.logStacktrace(ex.getMessage(),ex);
  }
catch (  DatabaseTableInconsistencyException dtie) {
    Canary.logStacktrace(dtie.getMessage(),dtie);
  }
 finally {
    try {
      PreparedStatement st=rs != null && rs.getStatement() instanceof PreparedStatement ? (PreparedStatement)rs.getStatement() : null;
      this.closeRS(rs);
      this.closePS(st);
      pool.returnConnectionToPool(conn);
    }
 catch (    SQLException ex) {
      Canary.logStacktrace(ex.getMessage(),ex);
    }
  }
  try {
    dataset.load(dataSet);
  }
 catch (  DatabaseAccessException ex) {
    Canary.logStacktrace(ex.getMessage(),ex);
  }
}