logInfo( "Belief Update Starting for: " + _asset_id );
if ( _logger.isInfoEnabled() ) _logger.info( "Belief Update Starting for: " + _asset_id );
    void updateBeliefState( ) throws BelievabilityException    {        // Iterate over the collection of triggers and compute a        // series of belief states until we get to the end of the        // list.  This final belief state is the one we want.        //        // This 'no trigger' case should not really hapen, since we        // should call this only after adding at least one trigger.        // However, better to explicitly check for this and deal with        // it gracefully then have the system bomb when the        // assumptions are violated.  Here we simply do not update the        // belief state.        //        if ( _current_triggers.size() < 1 )        {            logInfo( "Ignoring belief update due to zero triggers." );            return;        }        logInfo( "Belief Update Starting for: " + _asset_id );        // We should first sort this trigger collection, as        // everything else here will require it to be sorted.        //        Collections.sort( _current_triggers, new TriggerComparator() );                logDetail( "Explicit trigger count is " + _current_triggers.size()                   + " for " + _asset_id );        // Before updating the belief state, we need to check whether        // or not we will need to add any implicit diagnoses.  Some        // sensors do not report infomration when it is the same for        // efficiency reasons, so we need to make sure we treat this        // case correctly.  This works by simply adding extra triggers        // to the list at the end.         //        addImplicitDiagnoses( getLatestCurrentTriggerTime() );        logDetail( "Updating belief based on " + _current_triggers.size()                   + " triggers for " + _asset_id );        // Handle case where we might be computing the first belief        // state.        //        if ( _last_computed_belief == null )        {            // The default belief to use when we have no record of a            // previous belief is defined in the constructor, based on            // the state of the plugin.            //            _last_computed_belief = _default_belief;            _last_computed_belief.setTimestamp                    ( getEarliestCurrentTriggerTime() );        }        BeliefState latest_belief = _last_computed_belief;        logDetail( "Initial belief before trigger list: "                   + latest_belief.toString() );        // This iterator will return items in ascending order (by        // trigger time).        //        Iterator trigger_iter = _current_triggers.iterator();        while ( trigger_iter.hasNext() )        {            BeliefUpdateTrigger trigger                     = (BeliefUpdateTrigger) trigger_iter.next();            logDetail( "Processing trigger: " + trigger.toString() );                        latest_belief = _model_manager.updateBeliefState( latest_belief,                                                              trigger );                        logDetail( "Belief after trigger: " + latest_belief.toString() );                    } // while trigger_iter        // Once we have incorporated all the triggers into the        // computed belief state, we should clear them out, along with        // anything else that is associated with this latency window        // we have maintained.        //        clearTriggerHistory();                _last_computed_belief = latest_belief;        // Note that we choose not to worry about what to do with this        // belief state here.  The decision whether to publish or not        // should be made by whatever routine is actually calling this        // update method.        //        logInfo( "Belief Update Ended for: " + _asset_id );    } // method updateBeliefState