/** {@inheritDoc} */
 public synchronized void setNoOptimise() {
   noOptimise = true;
   if (collectionRef != null) {
     Collection<E> collection = collectionRef.get();
     if ((collection != null) && (collection instanceof SingletonResults)) {
       ((SingletonResults) collection).setNoOptimise();
     }
   }
 }
 /** {@inheritDoc} */
 @Override
 public SingletonResults executeSingleton(
     Query q, int batchSize, boolean optimise, boolean explain, boolean prefetch) {
   SingletonResults retval = new SingletonResults(q, this, getSequence(getComponentsForQuery(q)));
   if (batchSize != 0) {
     retval.setBatchSize(batchSize);
   }
   if (!optimise) {
     retval.setNoOptimise();
   }
   if (!explain) {
     retval.setNoExplain();
   }
   if (!prefetch) {
     retval.setNoPrefetch();
   }
   retval.setImmutable();
   return retval;
 }