synchronized (assetTechSpecs) { if (assetTechSpecsChanged) { blackboard.publishChange(assetTechSpecs); assetTechSpecsChanged = false; } }
    public void execute() {	synchronized (assetTechSpecs) {	    if (assetTechSpecsChanged) {		blackboard.publishChange(assetTechSpecs);		assetTechSpecsChanged = false;	    }	}        sendEvents();        Collection models = communityStatusModelSub.getAddedCollection();        for (Iterator it = models.iterator(); it.hasNext();) {            CommunityStatusModel csm = (CommunityStatusModel)it.next();            logger.info("Found CommunityStatusModel: community=" + csm.getCommunityName());            csm.addChangeListener(myChangeListener);                        //According to Ron there will be only ONE csm per BB.            this.csm = csm;                        //get all agents already known by the csm - called once.            getCurrentAssetsInCSM();        }    }