}
    private void handleUpdateTriggers()    {        // First and foremost, we ignore all update triggers unless we        // are unleashed.        //        if ( _leashing_state != LEASHING_STATE_UNLEASHED )            return;        Iterator iter;        // Diagnoses are published to the blackboard. Each sensor has        // a Diagnosis object on the blackboard that it either asserts        // periodically or asserts when some value changes (or both).        // The Believability plugin receives a wrapped version of this        // object on the blackboard, when something changes.        //        // Successful actions are published to the blackboard by the         // actuators, at the time of success             // ------- ADD UpdateTrigger        for ( iter = _beliefUpdateTriggerSub.getAddedCollection().iterator();                iter.hasNext() ; )         {            if (logger.isDetailEnabled() )                 logger.detail ("UpdateTrigger ADD");            handleUpdateTriggerObject( iter.next() );        } // iterator for ADD update trigger        // ------- CHANGE UpdateTrigger        for ( iter = _beliefUpdateTriggerSub.getChangedCollection().iterator();              iter.hasNext() ; ) {            if (logger.isDetailEnabled() )                 logger.detail ("UpdateTrigger CHANGE");            handleUpdateTriggerObject( iter.next() );        } // iterator for CHANGE UpdateTrigger                // ----- REMOVE UpdateTrigger        // The trigger has been removed successfully,        // we do nothing with this since it is controlled elsewhere, and        // we have already processed it.        for ( iter = _beliefUpdateTriggerSub.getRemovedCollection().iterator();               iter.hasNext() ; ) {            Object o = iter.next();            // do absolutely nothing        } // for REMOVE UpdateTrigger         } // method handleUpdateTriggers