Source:
<code>public void earlyStartup() { final String version = System.getProperty(JAVA_VERSION_PROPERTY); double detectedJavaVersion = getJavaVersionInDouble(version); if (detectedJavaVersion < Constants.MINIMUM_REQUIRED_JAVA_VERSION || detectedJavaVersion > Constants.MAXIMUM_SUPPORTED_JAVA_VERSION) { final IWorkbench workbench = PlatformUI.getWorkbench(); workbench.getDisplay().asyncExec(new Runnable() { public void run() { if (workbench.getDisplay() != null) { Shell shell = new Shell(workbench.getDisplay()); Monitor primaryMonitor = workbench.getDisplay().getPrimaryMonitor(); Rectangle primaryBounds = primaryMonitor.getBounds(); Rectangle shellBounds = shell.getBounds(); int xCenter = primaryBounds.x + (primaryBounds.width - shellBounds.width) / 2; int yCenter = primaryBounds.y + (primaryBounds.height - shellBounds.height) / 2; shell.setLocation(xCenter, yCenter); String str = (Constants.MAXIMUM_SUPPORTED_JAVA_VERSION == Constants.MINIMUM_REQUIRED_JAVA_VERSION) ? "\n" : (" - " + Constants.MAXIMUM_SUPPORTED_JAVA_VERSION + ".x" + "\n"); String warningMessage = Constants.DETECTED_JAVA_VERSION_MESSAGE + version + "\n" + Constants.RECOMMENDED_JAVA_VERSION_MESSAGE + Constants.MINIMUM_REQUIRED_JAVA_VERSION + ".x" + str + Constants.JAVA_VERSION_ALERT_MESSAGE; MessageDialog dialog = new MessageDialog(shell, ALERT_TITLE, null, warningMessage, MessageDialog.ERROR, new String[] { EXIT_BUTTON }, 0) { protected void buttonPressed(int buttonId) { if (buttonId == 0) { System.exit(0); } <START> super.buttonPressed(buttonId); <END> } }; dialog.open(); } } }); } }</code><technical_language>this invoked button</technical_language>

Target:
public void earlyStartup() { final String version = System.getProperty(JAVA_VERSION_PROPERTY); double detectedJavaVersion = getJavaVersionInDouble(version); if (detectedJavaVersion < Constants.MINIMUM_REQUIRED_JAVA_VERSION || detectedJavaVersion > Constants.MAXIMUM_SUPPORTED_JAVA_VERSION) { final IWorkbench workbench = PlatformUI.getWorkbench(); workbench.getDisplay().asyncExec(new Runnable() { public void run() { if (workbench.getDisplay() != null) { Shell shell = new Shell(workbench.getDisplay()); Monitor primaryMonitor = workbench.getDisplay().getPrimaryMonitor(); Rectangle primaryBounds = primaryMonitor.getBounds(); Rectangle shellBounds = shell.getBounds(); int xCenter = primaryBounds.x + (primaryBounds.width - shellBounds.width) / 2; int yCenter = primaryBounds.y + (primaryBounds.height - shellBounds.height) / 2; shell.setLocation(xCenter, yCenter); String str = (Constants.MAXIMUM_SUPPORTED_JAVA_VERSION == Constants.MINIMUM_REQUIRED_JAVA_VERSION) ? "\n" : (" - " + Constants.MAXIMUM_SUPPORTED_JAVA_VERSION + ".x" + "\n"); String warningMessage = Constants.DETECTED_JAVA_VERSION_MESSAGE + version + "\n" + Constants.RECOMMENDED_JAVA_VERSION_MESSAGE + Constants.MINIMUM_REQUIRED_JAVA_VERSION + ".x" + str + Constants.JAVA_VERSION_ALERT_MESSAGE; MessageDialog dialog = new MessageDialog(shell, ALERT_TITLE, null, warningMessage, MessageDialog.ERROR, new String[] { EXIT_BUTTON }, 0) { protected void buttonPressed(int buttonId) { System.exit(0); } protected void handleShellCloseEvent() { System.exit(0); } }; dialog.open(); } } }); } }