+ touched();
+ if (hp.size() > 1) {
+ HashSet<Forest<T>> hf0 = new HashSet<Forest<T>>();
+ Iterator<Forest<T>> ih = hp.iterator();
+ ih.next().gather(hf0);
+ for(Forest<T> f : hp) {
+ HashSet<Forest<T>> hf1 = new HashSet<Forest<T>>();
+ f.gather(hf1);
+ hf0.retainAll(hf1);
+ }
+ HashSet<Tree<T>> ht = new HashSet<Tree<T>>();
+ expand(ht, hf0, new Tree(null, "*"));
+ throw new Ambiguous((Forest<?>)this,
+ (HashSet<Tree<?>>)(Object)ht);
+ }