int stepId = 0; String stepIdVal = (String) args.get("stepId");
IsUserOwnerCondition isOwnerCondition = new IsUserOwnerCondition();
    public boolean passesCondition(Map transientVars, Map args, PropertySet ps) throws StoreException {        int stepId = 0;        String stepIdVal = (String) args.get("stepId");        if (stepIdVal != null) {            try {                stepId = Integer.parseInt(stepIdVal);            } catch (Exception ex) {            }        }        WorkflowContext context = (WorkflowContext) transientVars.get("context");        WorkflowEntry entry = (WorkflowEntry) transientVars.get("entry");        WorkflowStore store = (WorkflowStore) transientVars.get("store");        List currentSteps = store.findCurrentSteps(entry.getId());        if (stepId == 0) {            for (Iterator iterator = currentSteps.iterator();                    iterator.hasNext();) {                Step step = (Step) iterator.next();                if ((step.getOwner() != null) && context.getCaller().equals(step.getOwner())) {                    return true;                }            }        } else {            for (Iterator iterator = currentSteps.iterator();                    iterator.hasNext();) {                Step step = (Step) iterator.next();                if (stepId == step.getStepId()) {                    if ((step.getOwner() != null) && context.getCaller().equals(step.getOwner())) {                        return true;                    }                }            }        }        return false;    }