public void customResultAvailable(IExtensionInstance ext) { addExtension(exts[i].getName(), ext); ext.init().addResultListener(createResultListener(new DelegationResultListener<Void>(ret) { public void customResultAvailable(Void result) { if(i<exts.length-1) { initExtension(exts, i+1).addResultListener(new DelegationResultListener<Void>(ret)); } else { super.customResultAvailable(result); } } })); } }));