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
public int compare(Object o1, Object o2) {
				String s1= ((IFeatureEntry)o1).getFeatureIdentifier();
				String s2= ((IFeatureEntry)o2).getFeatureIdentifier();
				return s1.compareTo(s2);
			}
			}));
		IPluginRegistry pluginRegistry = Platform.getPluginRegistry();
		for (int i = 0; i < featuresArray.length; i++) {
			IFeatureEntry info = featuresArray[i];
			String pluginID = info.getFeaturePluginIdentifier();
			if (pluginID != null) {
				IPluginDescriptor descriptor= pluginRegistry.getPluginDescriptor(pluginID);
				if (descriptor != null) {
					pluginID = descriptor.getLabel();
				}
				if ("".equals(pluginID)) {   
					pluginID = IDEWorkbenchMessages.getString("SystemSummary.notSpecified"); 
				}
			} else {
				pluginID = IDEWorkbenchMessages.getString("SystemSummary.notSpecified"); 
			}
			String[] args= new String[] {info.getFeatureIdentifier(), info.getFeatureVersion(), pluginID};
			writer.println(IDEWorkbenchMessages.format("SystemSummary.featureVersion", args)); 
		}
	}	
	/*
	 * Appends the contents of the Plugin Registry.
	 */
	private void appendRegistry(PrintWriter writer) {
		writer.println();