iter = actionPatienceSubscription.getAddedCollection().iterator();
iter = actionPatienceSubscription.getChangedCollection().iterator();
  public void execute() {        Iterator iter;            // Get the ActionSelectionKnob for current settings        iter = knobSubscription.iterator();        if (iter.hasNext())         {                    knob = (ActionSelectionKnob) iter.next();        }      /*            if (testServlet == null) {          iter = testServletSubscription.getAddedCollection().iterator();          if (iter.hasNext()) {              testServlet = (TestObservationServlet)iter.next();               if (logger.isDebugEnabled()) logger.debug("Found TestObservationServlet");           }      }*/            //********* Process new CostBenefit objects ************          iter = costBenefitSubscription.getAddedCollection().iterator();      while (iter.hasNext()) {          CostBenefitEvaluation cbe = (CostBenefitEvaluation)iter.next();           if (logger.isDebugEnabled()) logger.debug("Saw new CBD: \n"+cbe.toString());          selectActions(cbe, knob);      }      //********* Process Actions that have Responded ***********      if (logger.isDebugEnabled()) logger.debug("Ready to Process Action Responses");      iter = actionPatienceSubscription.getAddedCollection().iterator();      // Mark the resolution of all the Actions that just reported back (for now it will just be one Action)      while (iter.hasNext()) {          ActionPatience ap = (ActionPatience)iter.next();          publishRemove(ap);    // we have the info we want, so get rid of it           Action action = ap.getAction();          // get the CBE associated with the Action          CostBenefitEvaluation cbe = findCostBenefitEvaluation(action.getAssetID());          if (logger.isDebugEnabled()) logger.debug(action + " has " + ap.getResult());          if (ap.getResult().equals(Action.COMPLETED)) {              if (logger.isDebugEnabled()) logger.debug("Nothing more to do");          }          else {              Object variantAttempted = action.getValue().getAction();              VariantEvaluation variantAttemptedEvaluation = cbe.getActionEvaluation(action).getVariantEvaluation(variantAttempted);              variantAttemptedEvaluation.setTried();              selectActions(cbe, knob);  // try to find a new action         }      }      if (logger.isDebugEnabled()) logger.debug("Done processing TimeOuts");  }