Bug 47532 SystemSummaryDialog uses core.runtime internal API
M5 SystemSummaryDialog uses Core Runtime internal API (PreferenceExporter) to dump the preferences. All public operations defined in PreferenceExporter are available from the Preferences class and should be used instead.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/SystemSummaryDialog.java
writer.println(IDEWorkbenchMessages.format("SystemSummary.isCurrentConfiguration", new Object[] {new Boolean(configurations[i].isCurrent())}));  
			IActivity[] activities = configurations[i].getActivities();
			for (int j = 0; j < activities.length; j++) {
				writer.println();
				writer.println(IDEWorkbenchMessages.format("SystemSummary.date", new Object[] {activities[j].getDate()})); 
				writer.println(IDEWorkbenchMessages.format("SystemSummary.target", new Object[] {activities[j].getLabel()})); 
				writer.println(IDEWorkbenchMessages.format("SystemSummary.action", new Object[] {getActionLabel(activities[j])})); 
				writer.println(IDEWorkbenchMessages.format("SystemSummary.status", new Object[] {getStatusLabel(activities[j])})); 
			}
		}
	}
	/*
	 * Appends the contents of the .log file
	 */
	private void appendLog(PrintWriter writer) {
		File log= new File(Platform.getLogFileLocation().toOSString());
		if (log.exists()) {
			writer.println();
			writer.println(IDEWorkbenchMessages.getString("SystemSummary.errorLog")); 
	
			BufferedReader reader = null;
			try {
				FileInputStream in = new FileInputStream(log);
				reader = new BufferedReader(new InputStreamReader(in, "UTF-8")); 
				char[] chars= new char[8192];
				int read= reader.read(chars);
				while (read > 0) {
					writer.write(chars, 0, read);
					read= reader.read(chars);
				}