if (logger.isDebugEnabled()) logger.debug("CostBenefitEvaluation created: "+cbe.toString());
if (logger.isInfoEnabled()) logger.info("CostBenefitEvaluation created: "+cbe.toString());
    protected void execute() {                Iterator iter;        // If the control Knob has been changed (by the PolicyPlugin), grab the new settings for use in the CB computations        iter = knobSubscription.getChangedCollection().iterator();        if (iter.hasNext())         {                    knob = (CostBenefitKnob) iter.next();        }                //Handle the addition of new StateEstimations        iter = stateEstimationSubscription.getAddedCollection().iterator();         while(iter.hasNext())         {            StateEstimation se = (StateEstimation)iter.next();            // Clean up the old SE & CBE if they exist            CostBenefitEvaluation old_cbe = findCostBenefitEvaluation(se.getAssetID());            if (old_cbe != null) {                StateEstimation old_se = old_cbe.getStateEstimation();                publishRemove(old_se);                publishRemove(old_cbe);                }            // Produce and publish a CBE containing the benefits for each offered action on the Asset            CostBenefitEvaluation cbe = createCostBenefitEvaluation(se, knob);            if (logger.isDebugEnabled()) logger.debug("CostBenefitEvaluation created: "+cbe.toString());            publishAdd(cbe);          }               }