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/PseudoLanguageChangeElement.java
element= element.getParent();
		}
		return (DefaultChangeElement)element;
	}
	
	private List collectTextEditBasedChangeGroups(List categories) {
		List result= new ArrayList(10);
		ChangeElement[] children= getChildren();
		for (int i= 0; i < children.length; i++) {
			ChangeElement child= children[i];
			if (child instanceof TextEditChangeElement) {
				TextEditBasedChangeGroup changeGroup= ((TextEditChangeElement)child).getChangeGroup();
				if (categories == null || changeGroup.getGroupCategorySet().containsOneCategory(categories))
					result.add(changeGroup);
			} else if (child instanceof PseudoLanguageChangeElement) {
				result.addAll(((PseudoLanguageChangeElement)child).collectTextEditBasedChangeGroups(categories));
			}
		}
		return result;
	}
	
	/**
	 * Returns the source region the lanaguage element.
	 * 
	 * @return the source region of the language element.
	 * @throws CoreException if the source region can't be optained
	 */
	public abstract IRegion getTextRange() throws CoreException;
}