Bug 90257 [Preferences] Want to create an instanceof of a WorkingCopyManager
20050405 I'm currently referencing the internal class org.eclipse.ui.internal.preferences.WorkingCopyManager I have a base class that manages all the current settings and I changes that class to use the working copy manager. For the following reasons I also have to function when I don't get a working copy manager. To avoid complicated code it would be nice if in these case I could just use an internal instance of the working copy manager. - In the preference page, when testing if my container is really of kind IWorkbenchPreferenceContainer (so I can access the working copy manager) I have to also handle the case that the test returns false - We have some pages that are contributed by extension point that don't give me access to the container due to API limitations.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/OptionsConfigurationBlock.java
public boolean performApply() {
		return processChanges(null); 
	}
	
	protected boolean processChanges(IWorkbenchPreferenceContainer container) {
		IScopeContext currContext= fLookupOrder[0];
		
		List  changedOptions= new ArrayList();
		boolean needsBuild= getChanges(currContext, changedOptions);
		if (changedOptions.isEmpty()) {
			return true;
		}
		if (needsBuild) {
			int count= getRebuildCount();
			if (count > fRebuildCount) {
				needsBuild= false; 
				fRebuildCount= count;
			}
		}
		boolean doBuild= false;
		if (needsBuild) {
			String[] strings= getFullBuildDialogStrings(fProject == null);
			if (strings != null) {
				MessageDialog dialog= new MessageDialog(getShell(), strings[0], null, strings[1], MessageDialog.QUESTION, new String[] { IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL, IDialogConstants.CANCEL_LABEL }, 2);
				int res= dialog.open();
				if (res == 0) {
					doBuild= true;
				} else if (res != 1) {
					return false;