logDetail( "Belief after time trigger: "
if ( _logger.isDetailEnabled() ) _logger.detail( "Belief after time trigger: "
    synchronized BeliefState updateBeliefState( BeliefState start_belief,                                                BeliefUpdateTrigger trigger )            throws BelievabilityException    {        if (( start_belief == null )            || ( trigger == null ))            throw new BelievabilityException                    ( "POMDPAssetModel.updateBeliefState()",                      "NULL parameters(s) passed in." );                // All state dimensions will be updated to the currrent        // trigger time, factoring in the state transitions due to        // threats.  We do all this first, and then we will go back        // and factor in the observation/action from the trigger for        // the lone state dimension that the trigger pertains to (if        // this is a trigger based on diagnosis or action).        //        // This will create a new belief state with all state        // dimensions belief adjusted for the passage of time (state        // transitions based on threats).        //        BeliefState next_belief                 = updateBeliefStateForTime( start_belief,                                            trigger );        // Now we go and do the single state dimension update to        // factor in the observation/diagnosis.        //        // For this case, we do not update any particular state        // dimension.        //        if ( trigger instanceof TimeUpdateTrigger )        {            logDetail( "Belief after time trigger: "                        + next_belief.toString() );            return next_belief;        }        // Next we need to find the state dimension that this diagnosis        // is relevanmt to.        //        String state_dim_name = trigger.getStateDimensionName();        if ( state_dim_name == null )            throw new BelievabilityException                    ( "POMDPAssetModel.updateBeliefState()",                      "Found NULL state dimension in trigger." );                // First, fetch the appropriate POMDP model for this        // dimension...        //        POMDPAssetDimensionModel pomdp_model_dim                = getPOMDPAssetDimensionModel( state_dim_name );                // ...and then the appropriate next belief state dimension...         //        BeliefStateDimension next_belief_dim                = next_belief.getBeliefStateDimension( state_dim_name );        // ..and a clone for the starting point...        //        BeliefStateDimension start_belief_dim                 = (BeliefStateDimension) next_belief_dim.clone();        // ...then finally we adjust the belief state based on the        // diagnosis we received (which is only done for the single        // state dimension that the diagnosis pertains to).         //        pomdp_model_dim.updateBeliefStateTrigger( start_belief_dim,                                                  trigger,                                                  next_belief_dim );        logDetail( "Belief after diagnosis/action trigger: "                    + next_belief.toString() );        return next_belief;    } // method updateBeliefState