result = new Boolean(passesConditions(wf.getGlobalConditions(), Collections.unmodifiableMap(transientVars), ps, stepId) && passesConditions(conditions, Collections.unmodifiableMap(transientVars), ps, stepId));
result = new Boolean(passesConditions(wf.getGlobalConditions(), new HashMap(transientVars), ps, stepId) && passesConditions(conditions, new HashMap(transientVars), ps, stepId));
    private boolean isActionAvailable(ActionDescriptor action, Map transientVars, PropertySet ps, int stepId) throws WorkflowException {        if (action == null) {            return false;        }        WorkflowDescriptor wf = getWorkflowDescriptorForAction(action);        Map cache = (Map) stateCache.get();        Boolean result = null;        if (cache != null) {            result = (Boolean) cache.get(action);        } else {            cache = new HashMap();            stateCache.set(cache);        }        if (result == null) {            RestrictionDescriptor restriction = action.getRestriction();            ConditionsDescriptor conditions = null;            if (restriction != null) {                conditions = restriction.getConditionsDescriptor();            }            result = new Boolean(passesConditions(wf.getGlobalConditions(), Collections.unmodifiableMap(transientVars), ps, stepId) && passesConditions(conditions, Collections.unmodifiableMap(transientVars), ps, stepId));            cache.put(action, result);        }        return result.booleanValue();    }