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
}
		});
		fExpandedComposites.add(excomposite);
		makeScrollableCompositeAware(excomposite);
		return excomposite;
	}
	
	protected final void expandedStateChanged(ExpandableComposite expandable) {
		ScrolledPageContent parentScrolledComposite= getParentScrolledComposite(expandable);
		if (parentScrolledComposite != null) {
			parentScrolledComposite.reflow(true);
		}
	}
	
	protected void restoreSectionExpansionStates(IDialogSettings settings) {
		for (int i= 0; i < fExpandedComposites.size(); i++) {
			ExpandableComposite excomposite= (ExpandableComposite) fExpandedComposites.get(i);
			if (settings == null) {
				excomposite.setExpanded(i == 0); 
			} else {
				excomposite.setExpanded(settings.getBoolean(SETTINGS_EXPANDED + String.valueOf(i)));
			}
		}
	}
	
	protected void storeSectionExpansionStates(IDialogSettings settings) {
		for (int i= 0; i < fExpandedComposites.size(); i++) {
			ExpandableComposite curr= (ExpandableComposite) fExpandedComposites.get(i);
			settings.put(SETTINGS_EXPANDED + String.valueOf(i), curr.isExpanded());
		}