--- /home/cpdev/src/classpath/gnu/xml/transform/ForEachNode.java	2005-07-10 05:32:33.000000000 +0000
+++ gnu/xml/transform/ForEachNode.java	2005-06-30 05:34:21.000000000 +0000
@@ -59,8 +59,10 @@
   final Expr select;
   final List sortKeys;
 
-  ForEachNode(Expr select, List sortKeys)
+  ForEachNode(TemplateNode children, TemplateNode next, Expr select,
+              List sortKeys)
   {
+    super(children, next);
     this.select = select;
     this.sortKeys = sortKeys;
   }
@@ -73,17 +75,12 @@
       {
         sortKeys2.add(((Key) sortKeys.get(i)).clone(stylesheet));
       }
-    TemplateNode ret = new ForEachNode(select.clone(stylesheet),
-                                       sortKeys2);
-    if (children != null)
-      {
-        ret.children = children.clone(stylesheet);
-      }
-    if (next != null)
-      {
-        ret.next = next.clone(stylesheet);
-      }
-    return ret;
+    return new ForEachNode((children == null) ? null :
+                           children.clone(stylesheet),
+                           (next == null) ? null :
+                           next.clone(stylesheet),
+                           select.clone(stylesheet),
+                           sortKeys2);
   }
 
   void doApply(Stylesheet stylesheet, QName mode,
@@ -139,25 +136,6 @@
       }
   }
 
-  public boolean references(QName var)
-  {
-    if (select != null && select.references(var))
-      {
-        return true;
-      }
-    if (sortKeys != null)
-      {
-        for (Iterator i = sortKeys.iterator(); i.hasNext(); )
-          {
-            if (((SortKey) i.next()).references(var))
-              {
-                return true;
-              }
-          }
-      }
-    return super.references(var);
-  }
-  
   public String toString()
   {
     StringBuffer buf = new StringBuffer(getClass().getName());
