CostBenefitEvaluation old_cbe = activeCBEs.get(se.getAssetID());
CostBenefitEvaluation old_cbe = (CostBenefitEvaluation)activeCBEs.get(se.getAssetID());
    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 removal (by completion) of old CBEs        iter = cbeSubscription.getRemovedCollection().iterator;        while (iter.hasNext()) {            // no longer processing, so remove from hashtable so we will process new SEs on this asset            CostBenefitEvaluation cbe = (CostBenefitEvaluation) iter.next();            AssetID assetID = cbe.getAssetID();            activeCBEs.remove(assetID);        }        //Handle the addition of new StateEstimations        iter = stateEstimationSubscription.getAddedCollection().iterator();        while(iter.hasNext())        {            StateEstimation se = (StateEstimation)iter.next();            if (logger.isInfoEnabled()) logger.info(se.toString());            // If there is an existing CBE, ignore this SE, because otherwise we might oveerrun the selection process            CostBenefitEvaluation old_cbe = activeCBEs.get(se.getAssetID());            if (old_cbe == null) {            	CostBenefitEvaluation cbe = createCostBenefitEvaluation(se, knob);            	if (logger.isInfoEnabled()) logger.info("CostBenefitEvaluation created: "+cbe.toString());            	publishAdd(cbe);                activeCBEs.put(cbe.getAssetID(), cbe);                }		else if (logger.isInfoEnabled()) logger.info("Discarding SE for: " + se.getAssetID() + " still processng last one.");        }    }