return;
throw new IllegalArgumentException("Action " + actionId + " is invalid");
    public void doAction(long id, int actionId, Map inputs) throws WorkflowException {        int[] availableActions = getAvailableActions(id);        boolean validAction = false;        for (int i = 0; i < availableActions.length; i++) {            if (availableActions[i] == actionId) {                validAction = true;                break;            }        }        if (!validAction) {            return;        }        WorkflowDescriptor wf = null;        WorkflowEntry entry = null;        WorkflowStore store = getPersistence();        entry = store.findEntry(id);        wf = getWorkflow(entry.getWorkflowName());        List currentSteps = store.findCurrentSteps(id);        ActionDescriptor action = wf.getAction(actionId);        PropertySet ps = store.getPropertySet(id);        Map transientVars = new HashMap();        if (inputs != null) {            transientVars.putAll(inputs);        }        populateTransientMap(entry, transientVars, wf.getRegisters());        try {            transitionWorkflow(entry, currentSteps, store, wf, action, transientVars, inputs, ps);        } catch (WorkflowException e) {            context.setRollbackOnly();            throw e;        }    }