code: private static <A> ForwardNavigator<RegExp<A>> unionNav() {
  	return new ForwardNavigator<RegExp<A>>() {
  	    private Visitor<A,List<RegExp<A>>> unionVis = new Visitor<A,List<RegExp<A>>>() {
  		public List<RegExp<A>> visit(Union<A> ure) {
  		    return Arrays.<RegExp<A>>asList(ure.left, ure.right);
  		}
  		public List<RegExp<A>> visit(RegExp<A> re) {
  		    return Collections.<RegExp<A>>emptyList();
  		}
  	    };
  	    public List<RegExp<A>> next(RegExp<A> re) {
  		return re.accept(unionVis);
  	    }
  	};
      }
docs: forward navigator through the sons of Union nodes.