if (logger.isDebugEnabled()) logger.debug("SelectAction: thisAction="+((thisAction != null)?thisAction.toString():null));
  private void selectActions(CostBenefitEvaluation cbe, ActionSelectionKnob knob) {    boolean done = false;    int index = 0;    while (!done) {        SelectedAction thisAction = selectBest(cbe, knob);         if (logger.isDebugEnabled()) 	    logger.debug("SelectAction: thisAction="+((thisAction != null)?thisAction.toString():null));        if (thisAction != null) {            publishAdd(thisAction);            index++;            done = true; // done because can't find anything useful to do            if ((thisAction.getActionEvaluation().getAction().getTechSpec().getActionType() == ActionTechSpecInterface.CORRECTIVE_ACTIONTYPE) // Because we try only one corrective action at a time		|| (outOfResources())		|| (index == knob.getMaxActions()))		done = true;         } else done = true;    }  }