Source:
private void loadResources(Composite container, OpenShiftServerEditorModel model) { IServerWorkingCopy server = input.getServer(); final Connection connection = OpenShiftServerUtils.getConnection(server); final IProject deployProject = OpenShiftServerUtils.getDeployProject(server); Cursor busyCursor = new Cursor(container.getDisplay(), SWT.CURSOR_WAIT); new JobChainBuilder( new DisableAllWidgetsJob(true, container, busyCursor)) .runWhenDone( new Job("Loading projects...") { @Override protected IStatus run(IProgressMonitor monitor) { model.setInitializing(true); try { String conUrl = server.getAttribute(OpenShiftServerUtils.ATTR_CONNECTIONURL, (String)null); ConnectionURL conurl2 = ConnectionURL.forURL(conUrl); IConnection con = ConnectionsRegistrySingleton.getInstance().getByUrl(conurl2); model.setConnection(con); } catch(UnsupportedEncodingException uee) { } catch(MalformedURLException murle) { } model.loadResources(); return Status.OK_STATUS; } }) .runWhenDone( new Job("Setting connection, deploy project...") { @Override protected IStatus run(IProgressMonitor monitor) { if (deployProject != null) { model.setDeployProject(deployProject); } if (connection != null) { model.setConnection(connection); } model.setService(OpenShiftServerUtils.getService(server)); String sourcePath = OpenShiftServerUtils.getSourcePath(server); if(!StringUtils.isEmpty(sourcePath)) { model.setSourcePath(sourcePath); } String podPath = OpenShiftServerUtils.getPodPath(server); if(!StringUtils.isEmpty(podPath)) { model.setPodPath(podPath); } model.setInitializing(false); return Status.OK_STATUS; } }) .runWhenDone(new DisableAllWidgetsJob(false, container, false, busyCursor)) .schedule(); }

Target:
private void loadResources(Composite container, OpenShiftServerEditorModel model) { IServerWorkingCopy server = input.getServer(); final Connection connection = OpenShiftServerUtils.getConnection(server); final IProject deployProject = OpenShiftServerUtils.getDeployProject(server); Cursor busyCursor = new Cursor(container.getDisplay(), SWT.CURSOR_WAIT); new JobChainBuilder( new DisableAllWidgetsJob(true, container, busyCursor)) .runWhenDone( new Job("Loading projects...") { @Override protected IStatus run(IProgressMonitor monitor) { model.setInitializing(true); try { String conUrl = server.getAttribute(OpenShiftServerUtils.ATTR_CONNECTIONURL, (String)null); if( conUrl != null ) { ConnectionURL conurl2 = ConnectionURL.forURL(conUrl); IConnection con = ConnectionsRegistrySingleton.getInstance().getByUrl(conurl2); model.loadResources(con); } } catch(UnsupportedEncodingException uee) { } catch(MalformedURLException murle) { } return Status.OK_STATUS; } }) .runWhenDone( new Job("Setting connection, deploy project...") { @Override protected IStatus run(IProgressMonitor monitor) { if (deployProject != null) { model.setDeployProject(deployProject); } if (connection != null) { model.setConnection(connection); } model.setService(OpenShiftServerUtils.getService(server)); String sourcePath = OpenShiftServerUtils.getSourcePath(server); if(!StringUtils.isEmpty(sourcePath)) { model.setSourcePath(sourcePath); } String podPath = OpenShiftServerUtils.getPodPath(server); if(!StringUtils.isEmpty(podPath)) { model.setPodPath(podPath); } model.setInitializing(false); return Status.OK_STATUS; } }) .runWhenDone(new DisableAllWidgetsJob(false, container, false, busyCursor)) .schedule(); }