if (passesConditions(wf.getGlobalConditions(), Collections.unmodifiableMap(transientVars), ps, s.getId()) && passesConditions(conditions, Collections.unmodifiableMap(transientVars), ps, s.getId())) {
if (passesConditions(wf.getGlobalConditions(), new HashMap(transientVars), ps, s.getId()) && passesConditions(conditions, new HashMap(transientVars), ps, s.getId())) {
    protected List getAvailableActionsForStep(WorkflowDescriptor wf, Step step, Map transientVars, PropertySet ps) throws WorkflowException {        List l = new ArrayList();        StepDescriptor s = wf.getStep(step.getStepId());        if (s == null) {            log.warn("getAvailableActionsForStep called for non-existent step Id #" + step.getStepId());            return l;        }        List actions = s.getActions();        if ((actions == null) || (actions.size() == 0)) {            return l;        }        for (Iterator iterator2 = actions.iterator(); iterator2.hasNext();) {            ActionDescriptor action = (ActionDescriptor) iterator2.next();            RestrictionDescriptor restriction = action.getRestriction();            ConditionsDescriptor conditions = null;            transientVars.put("actionId", new Integer(action.getId()));            if (restriction != null) {                conditions = restriction.getConditionsDescriptor();            }            if (passesConditions(wf.getGlobalConditions(), Collections.unmodifiableMap(transientVars), ps, s.getId()) && passesConditions(conditions, Collections.unmodifiableMap(transientVars), ps, s.getId())) {                l.add(new Integer(action.getId()));            }        }        return l;    }