private boolean isActionAvailable(ActionDescriptor action, Map transientVars, PropertySet ps) throws WorkflowException {
private boolean isActionAvailable(ActionDescriptor action, Map transientVars, PropertySet ps, int stepId) throws WorkflowException {
    private boolean isActionAvailable(ActionDescriptor action, Map transientVars, PropertySet ps) throws WorkflowException {        if (action == null) {            return false;        }        RestrictionDescriptor restriction = action.getRestriction();        String conditionType = null;        List conditions = null;        if (restriction != null) {            conditionType = restriction.getConditionType();            conditions = restriction.getConditions();        }        return passesConditions(conditionType, conditions, Collections.unmodifiableMap(transientVars), ps, 0);    }