public ProcessResponse startProcess(String name) throws SSOException { String id = idGenerator.generateId(); PasswordManagementProcess p = getPrototype(name); if (p == null) throw new SSOException("No such process : " + name); // Create a new process based on the received prototype p = p.createNewProcess(id); runningProcesses.put(p.getProcessId(), p); ProcessResponse r = p.start(); ((BaseProcessState) p.getState()).setNextStep(r.getNextStep()); return r; }