}  if (getId() == -1) { throw new InvalidWorkflowDescriptorException("Cannot use a step ID of -1 as it is a reserved value");
    public void validate() throws InvalidWorkflowDescriptorException {        if ((commonActions.size() == 0) && (actions.size() == 0) && hasActions) {            throw new InvalidWorkflowDescriptorException("Step '" + name + "' actions element must contain at least one action or common-action");        }        ValidationHelper.validate(actions);        ValidationHelper.validate(permissions);        Iterator iter = commonActions.iterator();        while (iter.hasNext()) {            Object o = iter.next();            try {                Integer actionId = new Integer(o.toString());                ActionDescriptor commonActionReference = (ActionDescriptor) ((WorkflowDescriptor) getParent()).getCommonActions().get(actionId);                if (commonActionReference == null) {                    throw new InvalidWorkflowDescriptorException("Common action " + actionId + " specified in step " + getName() + " does not exist");                }            } catch (NumberFormatException ex) {                throw new InvalidWorkflowDescriptorException("Common action " + o + " is not a valid action ID");            }        }    }