Hey Roger -
Looks good - thanks for getting this in! Only small suggestion would
be to put the visitTree() calls inside of a try/finally block so that
we could guarantee that the "javax.faces.visit.SKIP_ITERATION"
FacesContext property gets cleaned up in the event of an exception
during the visit.
Andy