if (logger.isDetailEnabled() ) logger.detail ("Handling leashing diagnosis.");
    private BeliefUpdateTrigger constructUpdateTrigger( Object o )      throws BelievabilityException {     if (o instanceof DiagnosesWrapper) {         Diagnosis diag = ((DiagnosesWrapper) o).getDiagnosis();      // First check for leashing of diagnoses      if ( o instanceof LeashRequestDiagnosis ) {          boolean is_stable =           (! ( (LeashRequestDiagnosis)diag).areDefensesLeashed() );          if ( is_stable ) _dc_enabled_new = true;          else _dc_enabled_new = false;      }      // Now pass on diagnosis         return new BelievabilityDiagnosis( diag );     }     else if (o instanceof SuccessfulAction) {         Action act = ((SuccessfulAction) o).getAction();            String techspec_key = act.getClass().getName();         ActionTechSpecInterface atsi =          actionTSService.getActionTechSpec( techspec_key );            BelievabilityAction ba = new BelievabilityAction( act, atsi );         // BelievabilityAction ba = new BelievabilityAction( act );         publishRemove ( o );         return ba;     }     else throw new BelievabilityException(                 "BelievabilityPlugin.constructUpdateTrigger",                 "Cannot create update trigger"                 );    }