boolean result = passesCondition(conditionDescriptor, transientVars, ps, currentStepId);
boolean result;  if (conditionDescriptor.isNested()) { result = passesConditions((String) conditionDescriptor.getArgs().get("operator"), conditionDescriptor.getNestedConditions(), transientVars, ps, currentStepId); } else { result = passesCondition(conditionDescriptor, transientVars, ps, currentStepId); }
    protected boolean passesConditions(String conditionType, List conditions, Map transientVars, PropertySet ps, int currentStepId) throws WorkflowException {        if ((conditions == null) || (conditions.size() == 0)) {            return true;        }        boolean and = "AND".equals(conditionType);        boolean or = !and;        for (Iterator iterator = conditions.iterator(); iterator.hasNext();) {            ConditionDescriptor conditionDescriptor = (ConditionDescriptor) iterator.next();            boolean result = passesCondition(conditionDescriptor, transientVars, ps, currentStepId);            if (and && !result) {                return false;            } else if (or && result) {                return true;            }        }        if (and) {            return true;        } else if (or) {            return false;        } else {            return false;        }    }