/**
  * INTERNAL: The results are *not* in a cursor, build the collection. Cache the results in
  * temporaryCachedQueryResults.
  */
 protected Object executeNonCursor() throws DatabaseException {
   Vector rows = getQueryMechanism().executeSelect();
   ContainerPolicy containerPolicy = getContainerPolicy();
   Object results = null;
   if (useAbstractRecord) {
     results = containerPolicy.buildContainerFromVector(rows, getSession());
   } else {
     results = containerPolicy.containerInstance(rows.size());
     for (Iterator rowsEnum = rows.iterator(); rowsEnum.hasNext(); ) {
       containerPolicy.addInto(
           ((AbstractRecord) rowsEnum.next()).getValues(), results, getSession());
     }
   }
   // Bug 6135563 - cache DataReadQuery results verbatim, as ObjectBuilder is not invoked
   cacheResult(results);
   return results;
 }