}
} else { if (logger.isDebugEnabled()) logger.debug("++++++++++++++++++++++++++++> ManagerAddress subscription empty."); }
    protected void execute() {        Iterator iter;        //First check to see if we know where the manager is. If not, look it up (if shouldRelayActions == true).        if (managerAddress == null && shouldRelayActions) {            //Check to see if the Coordinator's address is known...            iter = managerAddressSubscription.getAddedCollection().iterator();            if (iter.hasNext()) {              // find & set the ManagerAgent address               managerAddress = ((RobustnessManagerID)iter.next()).getMessageAddress();               if (logger.isDebugEnabled()) logger.debug("ManagerAddress: "+managerAddress.toString());                              //Update the knob with status -- we know where the coordinator is               iter = knobSubscription.getCollection().iterator();                       if (iter.hasNext()) {                   ActionRelayManagerKnob = (ActionRelayManagerKnob)iter.next();                   ActionRelayManagerKnob.setFoundCoordinator(managerAddress);               }                           }        }                if (managerAddress == null || !shouldRelayActions)             return; //we cannot forward Actions until we known where the coordinator is        //See if our knob has changed...        iter = knobSubscription.getChangedCollection().iterator();                if (iter.hasNext()) {            ActionRelayManagerKnob = (ActionRelayManagerKnob)iter.next();            shouldRelayActions = ActionRelayManagerKnob.getShouldRelay();        }                //Wrap & Relay the Actions        if (shouldRelayActions) {                        //First get all added Actions & wrap them with a ActionsWrapper            Collection added   = actionsSubscription.getAddedCollection();            for ( iter = added.iterator(); iter.hasNext() ; )             {                Action a = (Action)iter.next();                                UID uid = this.us.nextUID(); //gen UID for this wrapper                ActionsWrapper aw = new ActionsWrapper(a, this.agentId, managerAddress, uid); //wrap the Action                //registerUID(uid); //record all UIDs so we know what wrappers are out there.                a.setWrapper(aw);                this.publishAdd(aw);                            }                        //Now look at changed Actions            Collection changed  = actionsSubscription.getChangedCollection();                    Collection wrappers = wrapperSubscription.getCollection();                    added.addAll(changed);            for ( iter = added.iterator(); iter.hasNext() ; )             {                Action a = (Action)iter.next();                                //Find wrapper for this Action                ActionsWrapper aw = findWrapper(a, wrappers);                //runFilters                if (aw != null && runFilters(aw)) {                    this.publishChange(aw);                }                            }                    }               }