/**
  * Return successive BDOs from array built from ResultSet returned by query.
  *
  * @exception DataObjectException If a database access error occurs.
  * @exception NonUniqueQueryException If too many rows were found.
  */
 public SoftwareCandidateBDO getNextBDO() throws DataObjectException, NonUniqueQueryException {
   SoftwareCandidateDO DO = getNextDO();
   if (null == DO) return null;
   return SoftwareCandidateBDO.createExisting(DO);
 }
 /**
  * Return array of BDOs constructed from ResultSet returned by query.
  *
  * @exception DataObjectException If a database access error occurs.
  * @exception NonUniqueQueryException If too many rows were found.
  */
 public SoftwareCandidateBDO[] getBDOArray() throws DataObjectException, NonUniqueQueryException {
   if (needToRun) runQuery();
   SoftwareCandidateBDO[] BDOs = new SoftwareCandidateBDO[DOs.length];
   for (int i = 0; i < DOs.length; i++) BDOs[i] = SoftwareCandidateBDO.createExisting(DOs[i]);
   return BDOs;
 }