Use asIterator instead of clone, since it is cheaper, and more likely
to be stable.

diff --git a/src/org/apache/xalan/templates/FuncKey.java b/src/org/apache/xalan/templates/FuncKey.java
index efff581..4becc12 100644
--- a/src/org/apache/xalan/templates/FuncKey.java
+++ b/src/org/apache/xalan/templates/FuncKey.java
@@ -151,14 +151,14 @@
           kmgr.getNodeSetDTMByKey(xctxt, docContext, keyname, ref,
                                xctxt.getNamespaceContext());
 
-        try
-        {
-          upi.addIterator((LocPathIterator)nl.clone());
-        }
-        catch(CloneNotSupportedException cnse)
-        {
-          // will never happen.
-        }
+//        try
+//        {
+          upi.addIterator((LocPathIterator)nl.asIterator(xctxt, docContext));
+//        }
+//        catch(CloneNotSupportedException cnse)
+//        {
+//          // will never happen.
+//        }
         //mnodeset.addNodesInDocOrder(nl, xctxt); needed??
       }