/** * @param monitor * @return IStatus, as an array of status info * @throws ProcessFailureException */ public IStatus[] processAll(IProgressMonitor monitor) throws ProcessFailureException { List<IStatus> allStatuses = new ArrayList<IStatus>(); for (ConditionalProcessGroup cpg : conditionalProcessGroupList) { try { allStatuses.addAll(cpg.process(monitor)); } catch (ProcessFailureException e) { throw new ProcessFailureException(e.getMessage(), e, allStatuses); } } return allStatuses.toArray(new IStatus[allStatuses.size()]); }