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/ChangeElementTreeViewer.java
ChangeElement current= (ChangeElement)getInput();
		IStructuredSelection selection= (IStructuredSelection)getSelection();
		if (!selection.isEmpty())
			current= (ChangeElement)selection.iterator().next();
			
		ChangeElement candidate= getLeaf(current, next);
		if (candidate == null) {
			candidate= getElement(current, next);
			if (candidate != null) {
				ChangeElement leaf= getLeaf(candidate, next);
				if (leaf != null)
					candidate= leaf;
			}
		}
		if (candidate != null)
			setSelection(new StructuredSelection(candidate), true);
		else
			getControl().getDisplay().beep();
	}
	
	private ChangeElement getLeaf(ChangeElement element, boolean first) {
		ChangeElement result= null;
		ChangeElement[] children= element.getChildren();
		while(children != null && children.length > 0) {
			result= children[first ? 0 : children.length - 1];
			children= result.getChildren();
		}
		return result;
	}