if(logger.isDebugEnabled())logger.debug("publishChange "+action.dump());
    protected void activateNow(SelectedAction sa) {      Action action = sa.getActionEvaluation().getAction();      long maxPredictedTime = 0L;      try {        Set permittedVariants = new HashSet();        Iterator iter = sa.getActionVariants().iterator();        while (iter.hasNext()) {            VariantEvaluation ve = (VariantEvaluation)iter.next();            permittedVariants.add(ve.getVariantName());            maxPredictedTime = Math.max(ve.getExpectedTransitionTime(), maxPredictedTime);        }        action.setPermittedValues(permittedVariants);        }      catch (IllegalValueException e) {        logger.error("attempting to enable a non-existent action variant");        return ; // w/o publishing the bad action, but continue        }      if (logger.isInfoEnabled()) logger.info("Setting: "+action);      publishAdd(new ActionPatience(action, sa.getPatience()));      publishChange(action);    }