public void customResultAvailable(Void result) { startComponents(0, config.getComponents(), component.getInternalAccess()) .addResultListener(new ExceptionDelegationResultListener<Void, IExternalAccess>(fret) { public void customResultAvailable(Void result) { if(Boolean.TRUE.equals(config.getValue(RootComponentConfiguration.WELCOME))) { long startup = System.currentTimeMillis() - starttime; // platform.logger.info("Platform startup time: " + startup + " ms."); System.out.println(desc.getName()+" platform startup time: " + startup + " ms."); } fret.setResult(component.getInternalAccess().getExternalAccess()); } public void exceptionOccurred(Exception exception) { // On exception in init: kill platform. component.getInternalAccess().getExternalAccess().killComponent(); super.exceptionOccurred(exception); } }); } });