Bug 93400 LTK UI should provide official API for structural content in the preview page
org.eclipse.ltk.ui.refactoring/src/org/eclipse/ltk/internal/ui/refactoring/DefaultChangeElement.java
/* non Java-doc
	 * @see ChangeElement.getChildren
	 */	
	public ChangeElement[] getChildren() {
		if (fChildren == null) {
			if (fChange instanceof CompositeChange) {
				List children= new ArrayList();
				getFlattendedChildren(children, this, (CompositeChange)fChange);
				fChildren= (ChangeElement[])children.toArray(new ChangeElement[children.size()]);
			} else {
				IChangeElementChildrenCreator creator= (IChangeElementChildrenCreator)fChange.getAdapter(IChangeElementChildrenCreator.class);
				if (creator != null) {
					
					creator.createChildren(this);
				} else if (fChange instanceof TextEditBasedChange) {
					TextEditBasedChangeGroup[] groups= getSortedChangeGroups((TextEditBasedChange)fChange);
					fChildren= new ChangeElement[groups.length];
					for (int i= 0; i < groups.length; i++) {
						fChildren[i]= new TextEditChangeElement(this, groups[i]);
					}
				} else {
					fChildren= EMPTY_CHILDREN;
				}
			}
		}
		return fChildren;
	}
	
	public boolean hasOneGroupCategory(List categories) {