Apache license update per XALANJ-2328.
diff --git a/src/org/apache/xalan/xsltc/dom/AbsoluteIterator.java b/src/org/apache/xalan/xsltc/dom/AbsoluteIterator.java
index 06e45e2..29bb1a6 100644
--- a/src/org/apache/xalan/xsltc/dom/AbsoluteIterator.java
+++ b/src/org/apache/xalan/xsltc/dom/AbsoluteIterator.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/AdaptiveResultTreeImpl.java b/src/org/apache/xalan/xsltc/dom/AdaptiveResultTreeImpl.java
index 506c28d..0f17da1 100644
--- a/src/org/apache/xalan/xsltc/dom/AdaptiveResultTreeImpl.java
+++ b/src/org/apache/xalan/xsltc/dom/AdaptiveResultTreeImpl.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 1999-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/AnyNodeCounter.java b/src/org/apache/xalan/xsltc/dom/AnyNodeCounter.java
index 0a01ae7..4a1040f 100644
--- a/src/org/apache/xalan/xsltc/dom/AnyNodeCounter.java
+++ b/src/org/apache/xalan/xsltc/dom/AnyNodeCounter.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2005 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/BitArray.java b/src/org/apache/xalan/xsltc/dom/BitArray.java
index 5339e36..18fecaf 100644
--- a/src/org/apache/xalan/xsltc/dom/BitArray.java
+++ b/src/org/apache/xalan/xsltc/dom/BitArray.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/CachedNodeListIterator.java b/src/org/apache/xalan/xsltc/dom/CachedNodeListIterator.java
index 54254bf..c9d86d9 100644
--- a/src/org/apache/xalan/xsltc/dom/CachedNodeListIterator.java
+++ b/src/org/apache/xalan/xsltc/dom/CachedNodeListIterator.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/ClonedNodeListIterator.java b/src/org/apache/xalan/xsltc/dom/ClonedNodeListIterator.java
index cd71d40..4ce3d01 100644
--- a/src/org/apache/xalan/xsltc/dom/ClonedNodeListIterator.java
+++ b/src/org/apache/xalan/xsltc/dom/ClonedNodeListIterator.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/CollatorFactoryBase.java b/src/org/apache/xalan/xsltc/dom/CollatorFactoryBase.java
index cea4df9..b6eaabc 100644
--- a/src/org/apache/xalan/xsltc/dom/CollatorFactoryBase.java
+++ b/src/org/apache/xalan/xsltc/dom/CollatorFactoryBase.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/CurrentNodeListFilter.java b/src/org/apache/xalan/xsltc/dom/CurrentNodeListFilter.java
index 9de4825..486cc59 100644
--- a/src/org/apache/xalan/xsltc/dom/CurrentNodeListFilter.java
+++ b/src/org/apache/xalan/xsltc/dom/CurrentNodeListFilter.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/CurrentNodeListIterator.java b/src/org/apache/xalan/xsltc/dom/CurrentNodeListIterator.java
index 306182a..565e013 100644
--- a/src/org/apache/xalan/xsltc/dom/CurrentNodeListIterator.java
+++ b/src/org/apache/xalan/xsltc/dom/CurrentNodeListIterator.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/DOMAdapter.java b/src/org/apache/xalan/xsltc/dom/DOMAdapter.java
index ae7b258..50a03ab 100644
--- a/src/org/apache/xalan/xsltc/dom/DOMAdapter.java
+++ b/src/org/apache/xalan/xsltc/dom/DOMAdapter.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/DOMBuilder.java b/src/org/apache/xalan/xsltc/dom/DOMBuilder.java
index b520a24..943f5bc 100644
--- a/src/org/apache/xalan/xsltc/dom/DOMBuilder.java
+++ b/src/org/apache/xalan/xsltc/dom/DOMBuilder.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/DOMWSFilter.java b/src/org/apache/xalan/xsltc/dom/DOMWSFilter.java
index 365bec0..e8ef77a 100644
--- a/src/org/apache/xalan/xsltc/dom/DOMWSFilter.java
+++ b/src/org/apache/xalan/xsltc/dom/DOMWSFilter.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2002-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/DocumentCache.java b/src/org/apache/xalan/xsltc/dom/DocumentCache.java
index 961e36b..ba7093f 100644
--- a/src/org/apache/xalan/xsltc/dom/DocumentCache.java
+++ b/src/org/apache/xalan/xsltc/dom/DocumentCache.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/DupFilterIterator.java b/src/org/apache/xalan/xsltc/dom/DupFilterIterator.java
index e30eeab..359e120 100644
--- a/src/org/apache/xalan/xsltc/dom/DupFilterIterator.java
+++ b/src/org/apache/xalan/xsltc/dom/DupFilterIterator.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/EmptyFilter.java b/src/org/apache/xalan/xsltc/dom/EmptyFilter.java
index 7cf77f3..76346f7 100644
--- a/src/org/apache/xalan/xsltc/dom/EmptyFilter.java
+++ b/src/org/apache/xalan/xsltc/dom/EmptyFilter.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/ExtendedSAX.java b/src/org/apache/xalan/xsltc/dom/ExtendedSAX.java
index 1306e00..405d9eb 100644
--- a/src/org/apache/xalan/xsltc/dom/ExtendedSAX.java
+++ b/src/org/apache/xalan/xsltc/dom/ExtendedSAX.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/Filter.java b/src/org/apache/xalan/xsltc/dom/Filter.java
index 765640e..2cc7a52 100644
--- a/src/org/apache/xalan/xsltc/dom/Filter.java
+++ b/src/org/apache/xalan/xsltc/dom/Filter.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/FilterIterator.java b/src/org/apache/xalan/xsltc/dom/FilterIterator.java
index c07d264..abcaffd 100644
--- a/src/org/apache/xalan/xsltc/dom/FilterIterator.java
+++ b/src/org/apache/xalan/xsltc/dom/FilterIterator.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/FilteredStepIterator.java b/src/org/apache/xalan/xsltc/dom/FilteredStepIterator.java
index e2d14f1..942209e 100644
--- a/src/org/apache/xalan/xsltc/dom/FilteredStepIterator.java
+++ b/src/org/apache/xalan/xsltc/dom/FilteredStepIterator.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/ForwardPositionIterator.java b/src/org/apache/xalan/xsltc/dom/ForwardPositionIterator.java
index 39137f3..328493a 100644
--- a/src/org/apache/xalan/xsltc/dom/ForwardPositionIterator.java
+++ b/src/org/apache/xalan/xsltc/dom/ForwardPositionIterator.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/KeyIndex.java b/src/org/apache/xalan/xsltc/dom/KeyIndex.java
index 36ee486..812736f 100644
--- a/src/org/apache/xalan/xsltc/dom/KeyIndex.java
+++ b/src/org/apache/xalan/xsltc/dom/KeyIndex.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2006 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/LoadDocument.java b/src/org/apache/xalan/xsltc/dom/LoadDocument.java
index 9c1c333..707c62c 100644
--- a/src/org/apache/xalan/xsltc/dom/LoadDocument.java
+++ b/src/org/apache/xalan/xsltc/dom/LoadDocument.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/MatchingIterator.java b/src/org/apache/xalan/xsltc/dom/MatchingIterator.java
index dbc35f2..fe36c60 100644
--- a/src/org/apache/xalan/xsltc/dom/MatchingIterator.java
+++ b/src/org/apache/xalan/xsltc/dom/MatchingIterator.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/MultiDOM.java b/src/org/apache/xalan/xsltc/dom/MultiDOM.java
index 3d3cc36..f82c7bf 100644
--- a/src/org/apache/xalan/xsltc/dom/MultiDOM.java
+++ b/src/org/apache/xalan/xsltc/dom/MultiDOM.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/MultiValuedNodeHeapIterator.java b/src/org/apache/xalan/xsltc/dom/MultiValuedNodeHeapIterator.java
index f7a9aef..6206dd7 100644
--- a/src/org/apache/xalan/xsltc/dom/MultiValuedNodeHeapIterator.java
+++ b/src/org/apache/xalan/xsltc/dom/MultiValuedNodeHeapIterator.java
@@ -1,292 +1,294 @@
-/*
- * Copyright 2001-2006 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: UnionIterator.java 337874 2004-02-16 23:06:53Z minchau $
- */
-
-package org.apache.xalan.xsltc.dom;
-
-import org.apache.xalan.xsltc.DOM;
-import org.apache.xalan.xsltc.runtime.BasisLibrary;
-import org.apache.xml.dtm.DTMAxisIterator;
-import org.apache.xml.dtm.ref.DTMAxisIteratorBase;
-
-/**
- * <p><code>MultiValuedNodeHeapIterator</code> takes a set of multi-valued
- * heap nodes and produces a merged NodeSet in document order with duplicates
- * removed.</p>
- * <p>Each multi-valued heap node (which might be a
- * {@link org.apache.xml.dtm.DTMAxisIterator}, but that's  not necessary)
- * generates DTM node handles in document order.  The class
- * maintains the multi-valued heap nodes in a heap, not surprisingly, sorted by
- * the next DTM node handle available form the heap node.</p>
- * <p>After a DTM node is pulled from the heap node that's at the top of the
- * heap, the heap node is advanced to the next DTM node handle it makes
- * available, and the heap nature of the heap is restored to ensure the next
- * DTM node handle pulled is next in document order overall.
- *
- * @author Jacek Ambroziak
- * @author Santiago Pericas-Geertsen
- */
-public abstract class MultiValuedNodeHeapIterator extends DTMAxisIteratorBase {
-    /** wrapper for NodeIterators to support iterator
-	comparison on the value of their next() method
-    */
-
-    /**
-     * An abstract representation of a set of nodes that will be retrieved in
-     * document order.
-     */
-    public abstract class HeapNode implements Cloneable {
-	protected int _node, _markedNode;
-	protected boolean _isStartSet = false;
-		
-        /**
-         * Advance to the next node represented by this {@link HeapNode}
-         *
-         * @return the next DTM node.
-         */
-	public abstract int step();
-
-
-        /**
-         * Creates a deep copy of this {@link HeapNode}.  The clone is not
-         * reset from the current position of the original.
-         *
-         * @return the cloned heap node
-         */
-	public HeapNode cloneHeapNode() {
-            HeapNode clone;
-
-            try {
-                clone = (HeapNode) super.clone();
-            } catch (CloneNotSupportedException e) {
-                BasisLibrary.runTimeError(BasisLibrary.ITERATOR_CLONE_ERR,
-                                          e.toString());
-                return null;
-            }
-
-	    clone._node = _node;
-	    clone._markedNode = _node;
-
-	    return clone;
-	}
-
-        /**
-         * Remembers the current node for the next call to {@link #gotoMark()}.
-         */
-	public void setMark() {
-	    _markedNode = _node;
-	}
-
-        /**
-         * Restores the current node remembered by {@link #setMark()}.
-         */
-	public void gotoMark() {
-	    _node = _markedNode;
-	}
-
-        /**
-         * Performs a comparison of the two heap nodes
-         *
-         * @param heapNode the heap node against which to compare
-         * @return <code>true</code> if and only if the current node for this
-         *         heap node is before the current node of the argument heap
-         *         node in document order.
-         */
-        public abstract boolean isLessThan(HeapNode heapNode);
-
-        /**
-         * Sets context with respect to which this heap node is evaluated.
-         *
-         * @param node The new context node
-         * @return a {@link HeapNode} which may or may not be the same as
-         *         this <code>HeapNode</code>.
-         */
-        public abstract HeapNode setStartNode(int node);
-
-        /**
-         * Reset the heap node back to its beginning.
-         *
-         * @return a {@link HeapNode} which may or may not be the same as
-         *         this <code>HeapNode</code>.
-         */
-        public abstract HeapNode reset();
-    } // end of HeapNode
-
-    private static final int InitSize = 8;
-  
-    private int        _heapSize = 0;
-    private int        _size = InitSize;
-    private HeapNode[] _heap = new HeapNode[InitSize];
-    private int        _free = 0;
-  
-    // Last node returned by this MultiValuedNodeHeapIterator to the caller of
-    // next; used to prune duplicates
-    private int _returnedLast;
-
-    // cached returned last for use in gotoMark
-    private int _cachedReturnedLast = END;
-
-    // cached heap size for use in gotoMark
-    private int _cachedHeapSize;
-
-
-    public DTMAxisIterator cloneIterator() {
-	_isRestartable = false;
-	final HeapNode[] heapCopy = new HeapNode[_heap.length];
-	try {
-	    MultiValuedNodeHeapIterator clone =
-                    (MultiValuedNodeHeapIterator)super.clone();
-
-            for (int i = 0; i < _free; i++) {
-                heapCopy[i] = _heap[i].cloneHeapNode();
-            }
-	    clone.setRestartable(false);
-	    clone._heap = heapCopy;
-	    return clone.reset();
-	} 
-	catch (CloneNotSupportedException e) {
-	    BasisLibrary.runTimeError(BasisLibrary.ITERATOR_CLONE_ERR,
-				      e.toString());
-	    return null;
-	}
-    }
-    
-    protected void addHeapNode(HeapNode node) {
-	if (_free == _size) {
-	    HeapNode[] newArray = new HeapNode[_size *= 2];
-	    System.arraycopy(_heap, 0, newArray, 0, _free);
-	    _heap = newArray;
-	}
-	_heapSize++;
-	_heap[_free++] = node;
-    }
-  
-    public int next() {
-	while (_heapSize > 0) {
-	    final int smallest = _heap[0]._node;
-	    if (smallest == END) { // iterator _heap[0] is done
-		if (_heapSize > 1) {
-		    // Swap first and last (iterator must be restartable)
-		    final HeapNode temp = _heap[0];
-		    _heap[0] = _heap[--_heapSize];
-		    _heap[_heapSize] = temp;
-		}
-		else {
-		    return END;
-		}
-	    }
-	    else if (smallest == _returnedLast) {	// duplicate
-		_heap[0].step(); // value consumed
-	    }
-	    else {
-		_heap[0].step(); // value consumed
-		heapify(0);
-		return returnNode(_returnedLast = smallest);
-	    }
-	    // fallthrough if not returned above
-	    heapify(0);
-	}
-	return END;
-    }
-  
-    public DTMAxisIterator setStartNode(int node) {
-	if (_isRestartable) {
-	    _startNode = node;
-	    for (int i = 0; i < _free; i++) {
-         	if(!_heap[i]._isStartSet){
-        	   _heap[i].setStartNode(node);
-        	   _heap[i].step();	// to get the first node
-        	   _heap[i]._isStartSet = true;
-        	}
-	    }
-	    // build heap
-	    for (int i = (_heapSize = _free)/2; i >= 0; i--) {
-		heapify(i);
-	    }
-	    _returnedLast = END;
-	    return resetPosition();
-	}
-	return this;
-    }
-
-    protected void init() {
-        for (int i =0; i < _free; i++) {
-            _heap[i] = null;
-        }
-
-        _heapSize = 0;
-        _free = 0;
-    }
-
-    /* Build a heap in document order. put the smallest node on the top. 
-     * "smallest node" means the node before other nodes in document order
-     */
-    private void heapify(int i) {
-	for (int r, l, smallest;;) {
-	    r = (i + 1) << 1; l = r - 1;
-	    smallest = l < _heapSize 
-		&& _heap[l].isLessThan(_heap[i]) ? l : i;
-	    if (r < _heapSize && _heap[r].isLessThan(_heap[smallest])) {
-		smallest = r;
-	    }
-	    if (smallest != i) {
-		final HeapNode temp = _heap[smallest];
-		_heap[smallest] = _heap[i];
-		_heap[i] = temp;
-		i = smallest;
-	    } else {
-		break;
-            }
-	}
-    }
-
-    public void setMark() {
-	for (int i = 0; i < _free; i++) {
-	    _heap[i].setMark();
-	}
-	_cachedReturnedLast = _returnedLast;    
-	_cachedHeapSize = _heapSize;
-    }
-
-    public void gotoMark() {
-	for (int i = 0; i < _free; i++) {
-	    _heap[i].gotoMark();
-	}
-	// rebuild heap after call last() function. fix for bug 20913
-	for (int i = (_heapSize = _cachedHeapSize)/2; i >= 0; i--) {
-	    heapify(i);
-	}
-        _returnedLast = _cachedReturnedLast;    
-    }
-
-    public DTMAxisIterator reset() {
-	for (int i = 0; i < _free; i++) {
-	    _heap[i].reset();
-	    _heap[i].step();
-	}
-
-	// build heap
-	for (int i = (_heapSize = _free)/2; i >= 0; i--) {
-	    heapify(i);
-	}
-
-	_returnedLast = END;
-	return resetPosition();
-    }
-
-}
+/*

+ * Licensed to the Apache Software Foundation (ASF) under one

+ * or more contributor license agreements. See the NOTICE file

+ * distributed with this work for additional information

+ * regarding copyright ownership. The ASF licenses this file

+ * to you under the Apache License, Version 2.0 (the  "License");

+ * you may not use this file except in compliance with the License.

+ * You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ * Unless required by applicable law or agreed to in writing, software

+ * distributed under the License is distributed on an "AS IS" BASIS,

+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ * See the License for the specific language governing permissions and

+ * limitations under the License.

+ */

+/*

+ * $Id: UnionIterator.java 337874 2004-02-16 23:06:53Z minchau $

+ */

+

+package org.apache.xalan.xsltc.dom;

+

+import org.apache.xalan.xsltc.DOM;

+import org.apache.xalan.xsltc.runtime.BasisLibrary;

+import org.apache.xml.dtm.DTMAxisIterator;

+import org.apache.xml.dtm.ref.DTMAxisIteratorBase;

+

+/**

+ * <p><code>MultiValuedNodeHeapIterator</code> takes a set of multi-valued

+ * heap nodes and produces a merged NodeSet in document order with duplicates

+ * removed.</p>

+ * <p>Each multi-valued heap node (which might be a

+ * {@link org.apache.xml.dtm.DTMAxisIterator}, but that's  not necessary)

+ * generates DTM node handles in document order.  The class

+ * maintains the multi-valued heap nodes in a heap, not surprisingly, sorted by

+ * the next DTM node handle available form the heap node.</p>

+ * <p>After a DTM node is pulled from the heap node that's at the top of the

+ * heap, the heap node is advanced to the next DTM node handle it makes

+ * available, and the heap nature of the heap is restored to ensure the next

+ * DTM node handle pulled is next in document order overall.

+ *

+ * @author Jacek Ambroziak

+ * @author Santiago Pericas-Geertsen

+ */

+public abstract class MultiValuedNodeHeapIterator extends DTMAxisIteratorBase {

+    /** wrapper for NodeIterators to support iterator

+	comparison on the value of their next() method

+    */

+

+    /**

+     * An abstract representation of a set of nodes that will be retrieved in

+     * document order.

+     */

+    public abstract class HeapNode implements Cloneable {

+	protected int _node, _markedNode;

+	protected boolean _isStartSet = false;

+		

+        /**

+         * Advance to the next node represented by this {@link HeapNode}

+         *

+         * @return the next DTM node.

+         */

+	public abstract int step();

+

+

+        /**

+         * Creates a deep copy of this {@link HeapNode}.  The clone is not

+         * reset from the current position of the original.

+         *

+         * @return the cloned heap node

+         */

+	public HeapNode cloneHeapNode() {

+            HeapNode clone;

+

+            try {

+                clone = (HeapNode) super.clone();

+            } catch (CloneNotSupportedException e) {

+                BasisLibrary.runTimeError(BasisLibrary.ITERATOR_CLONE_ERR,

+                                          e.toString());

+                return null;

+            }

+

+	    clone._node = _node;

+	    clone._markedNode = _node;

+

+	    return clone;

+	}

+

+        /**

+         * Remembers the current node for the next call to {@link #gotoMark()}.

+         */

+	public void setMark() {

+	    _markedNode = _node;

+	}

+

+        /**

+         * Restores the current node remembered by {@link #setMark()}.

+         */

+	public void gotoMark() {

+	    _node = _markedNode;

+	}

+

+        /**

+         * Performs a comparison of the two heap nodes

+         *

+         * @param heapNode the heap node against which to compare

+         * @return <code>true</code> if and only if the current node for this

+         *         heap node is before the current node of the argument heap

+         *         node in document order.

+         */

+        public abstract boolean isLessThan(HeapNode heapNode);

+

+        /**

+         * Sets context with respect to which this heap node is evaluated.

+         *

+         * @param node The new context node

+         * @return a {@link HeapNode} which may or may not be the same as

+         *         this <code>HeapNode</code>.

+         */

+        public abstract HeapNode setStartNode(int node);

+

+        /**

+         * Reset the heap node back to its beginning.

+         *

+         * @return a {@link HeapNode} which may or may not be the same as

+         *         this <code>HeapNode</code>.

+         */

+        public abstract HeapNode reset();

+    } // end of HeapNode

+

+    private static final int InitSize = 8;

+  

+    private int        _heapSize = 0;

+    private int        _size = InitSize;

+    private HeapNode[] _heap = new HeapNode[InitSize];

+    private int        _free = 0;

+  

+    // Last node returned by this MultiValuedNodeHeapIterator to the caller of

+    // next; used to prune duplicates

+    private int _returnedLast;

+

+    // cached returned last for use in gotoMark

+    private int _cachedReturnedLast = END;

+

+    // cached heap size for use in gotoMark

+    private int _cachedHeapSize;

+

+

+    public DTMAxisIterator cloneIterator() {

+	_isRestartable = false;

+	final HeapNode[] heapCopy = new HeapNode[_heap.length];

+	try {

+	    MultiValuedNodeHeapIterator clone =

+                    (MultiValuedNodeHeapIterator)super.clone();

+

+            for (int i = 0; i < _free; i++) {

+                heapCopy[i] = _heap[i].cloneHeapNode();

+            }

+	    clone.setRestartable(false);

+	    clone._heap = heapCopy;

+	    return clone.reset();

+	} 

+	catch (CloneNotSupportedException e) {

+	    BasisLibrary.runTimeError(BasisLibrary.ITERATOR_CLONE_ERR,

+				      e.toString());

+	    return null;

+	}

+    }

+    

+    protected void addHeapNode(HeapNode node) {

+	if (_free == _size) {

+	    HeapNode[] newArray = new HeapNode[_size *= 2];

+	    System.arraycopy(_heap, 0, newArray, 0, _free);

+	    _heap = newArray;

+	}

+	_heapSize++;

+	_heap[_free++] = node;

+    }

+  

+    public int next() {

+	while (_heapSize > 0) {

+	    final int smallest = _heap[0]._node;

+	    if (smallest == END) { // iterator _heap[0] is done

+		if (_heapSize > 1) {

+		    // Swap first and last (iterator must be restartable)

+		    final HeapNode temp = _heap[0];

+		    _heap[0] = _heap[--_heapSize];

+		    _heap[_heapSize] = temp;

+		}

+		else {

+		    return END;

+		}

+	    }

+	    else if (smallest == _returnedLast) {	// duplicate

+		_heap[0].step(); // value consumed

+	    }

+	    else {

+		_heap[0].step(); // value consumed

+		heapify(0);

+		return returnNode(_returnedLast = smallest);

+	    }

+	    // fallthrough if not returned above

+	    heapify(0);

+	}

+	return END;

+    }

+  

+    public DTMAxisIterator setStartNode(int node) {

+	if (_isRestartable) {

+	    _startNode = node;

+	    for (int i = 0; i < _free; i++) {

+         	if(!_heap[i]._isStartSet){

+        	   _heap[i].setStartNode(node);

+        	   _heap[i].step();	// to get the first node

+        	   _heap[i]._isStartSet = true;

+        	}

+	    }

+	    // build heap

+	    for (int i = (_heapSize = _free)/2; i >= 0; i--) {

+		heapify(i);

+	    }

+	    _returnedLast = END;

+	    return resetPosition();

+	}

+	return this;

+    }

+

+    protected void init() {

+        for (int i =0; i < _free; i++) {

+            _heap[i] = null;

+        }

+

+        _heapSize = 0;

+        _free = 0;

+    }

+

+    /* Build a heap in document order. put the smallest node on the top. 

+     * "smallest node" means the node before other nodes in document order

+     */

+    private void heapify(int i) {

+	for (int r, l, smallest;;) {

+	    r = (i + 1) << 1; l = r - 1;

+	    smallest = l < _heapSize 

+		&& _heap[l].isLessThan(_heap[i]) ? l : i;

+	    if (r < _heapSize && _heap[r].isLessThan(_heap[smallest])) {

+		smallest = r;

+	    }

+	    if (smallest != i) {

+		final HeapNode temp = _heap[smallest];

+		_heap[smallest] = _heap[i];

+		_heap[i] = temp;

+		i = smallest;

+	    } else {

+		break;

+            }

+	}

+    }

+

+    public void setMark() {

+	for (int i = 0; i < _free; i++) {

+	    _heap[i].setMark();

+	}

+	_cachedReturnedLast = _returnedLast;    

+	_cachedHeapSize = _heapSize;

+    }

+

+    public void gotoMark() {

+	for (int i = 0; i < _free; i++) {

+	    _heap[i].gotoMark();

+	}

+	// rebuild heap after call last() function. fix for bug 20913

+	for (int i = (_heapSize = _cachedHeapSize)/2; i >= 0; i--) {

+	    heapify(i);

+	}

+        _returnedLast = _cachedReturnedLast;    

+    }

+

+    public DTMAxisIterator reset() {

+	for (int i = 0; i < _free; i++) {

+	    _heap[i].reset();

+	    _heap[i].step();

+	}

+

+	// build heap

+	for (int i = (_heapSize = _free)/2; i >= 0; i--) {

+	    heapify(i);

+	}

+

+	_returnedLast = END;

+	return resetPosition();

+    }

+

+}

diff --git a/src/org/apache/xalan/xsltc/dom/MultipleNodeCounter.java b/src/org/apache/xalan/xsltc/dom/MultipleNodeCounter.java
index e810f50..ddba1e0 100644
--- a/src/org/apache/xalan/xsltc/dom/MultipleNodeCounter.java
+++ b/src/org/apache/xalan/xsltc/dom/MultipleNodeCounter.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/NodeCounter.java b/src/org/apache/xalan/xsltc/dom/NodeCounter.java
index 93cab7a..3bba8b4 100644
--- a/src/org/apache/xalan/xsltc/dom/NodeCounter.java
+++ b/src/org/apache/xalan/xsltc/dom/NodeCounter.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/NodeIteratorBase.java b/src/org/apache/xalan/xsltc/dom/NodeIteratorBase.java
index eec1ce7..ab29440 100644
--- a/src/org/apache/xalan/xsltc/dom/NodeIteratorBase.java
+++ b/src/org/apache/xalan/xsltc/dom/NodeIteratorBase.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/NodeSortRecord.java b/src/org/apache/xalan/xsltc/dom/NodeSortRecord.java
index e7dc821..2bb1b01 100644
--- a/src/org/apache/xalan/xsltc/dom/NodeSortRecord.java
+++ b/src/org/apache/xalan/xsltc/dom/NodeSortRecord.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/NodeSortRecordFactory.java b/src/org/apache/xalan/xsltc/dom/NodeSortRecordFactory.java
index b8538f3..9f07fac 100644
--- a/src/org/apache/xalan/xsltc/dom/NodeSortRecordFactory.java
+++ b/src/org/apache/xalan/xsltc/dom/NodeSortRecordFactory.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/NthIterator.java b/src/org/apache/xalan/xsltc/dom/NthIterator.java
index dc16579..b478305 100644
--- a/src/org/apache/xalan/xsltc/dom/NthIterator.java
+++ b/src/org/apache/xalan/xsltc/dom/NthIterator.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/ObjectFactory.java b/src/org/apache/xalan/xsltc/dom/ObjectFactory.java
index 76b4d1c..b29933f 100755
--- a/src/org/apache/xalan/xsltc/dom/ObjectFactory.java
+++ b/src/org/apache/xalan/xsltc/dom/ObjectFactory.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/SAXImpl.java b/src/org/apache/xalan/xsltc/dom/SAXImpl.java
index 5c5cf41..e90a027 100644
--- a/src/org/apache/xalan/xsltc/dom/SAXImpl.java
+++ b/src/org/apache/xalan/xsltc/dom/SAXImpl.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/SecuritySupport.java b/src/org/apache/xalan/xsltc/dom/SecuritySupport.java
index 69ee6e2..be7706f 100755
--- a/src/org/apache/xalan/xsltc/dom/SecuritySupport.java
+++ b/src/org/apache/xalan/xsltc/dom/SecuritySupport.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2002-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/SecuritySupport12.java b/src/org/apache/xalan/xsltc/dom/SecuritySupport12.java
index 5c6ac63..c26e327 100755
--- a/src/org/apache/xalan/xsltc/dom/SecuritySupport12.java
+++ b/src/org/apache/xalan/xsltc/dom/SecuritySupport12.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2002-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/SimpleResultTreeImpl.java b/src/org/apache/xalan/xsltc/dom/SimpleResultTreeImpl.java
index 1c51c96..697f2db 100644
--- a/src/org/apache/xalan/xsltc/dom/SimpleResultTreeImpl.java
+++ b/src/org/apache/xalan/xsltc/dom/SimpleResultTreeImpl.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 1999-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/SingleNodeCounter.java b/src/org/apache/xalan/xsltc/dom/SingleNodeCounter.java
index 5d9bf34..dc807c8 100644
--- a/src/org/apache/xalan/xsltc/dom/SingleNodeCounter.java
+++ b/src/org/apache/xalan/xsltc/dom/SingleNodeCounter.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2005 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/SingletonIterator.java b/src/org/apache/xalan/xsltc/dom/SingletonIterator.java
index 05e36ca..55b6c91 100644
--- a/src/org/apache/xalan/xsltc/dom/SingletonIterator.java
+++ b/src/org/apache/xalan/xsltc/dom/SingletonIterator.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/SortSettings.java b/src/org/apache/xalan/xsltc/dom/SortSettings.java
index 877f5a2..cab3c43 100644
--- a/src/org/apache/xalan/xsltc/dom/SortSettings.java
+++ b/src/org/apache/xalan/xsltc/dom/SortSettings.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/SortingIterator.java b/src/org/apache/xalan/xsltc/dom/SortingIterator.java
index e86795e..87085c6 100644
--- a/src/org/apache/xalan/xsltc/dom/SortingIterator.java
+++ b/src/org/apache/xalan/xsltc/dom/SortingIterator.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/StepIterator.java b/src/org/apache/xalan/xsltc/dom/StepIterator.java
index 710d082..4343b9c 100644
--- a/src/org/apache/xalan/xsltc/dom/StepIterator.java
+++ b/src/org/apache/xalan/xsltc/dom/StepIterator.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/StripWhitespaceFilter.java b/src/org/apache/xalan/xsltc/dom/StripWhitespaceFilter.java
index 85e95ce..63ded6b 100644
--- a/src/org/apache/xalan/xsltc/dom/StripWhitespaceFilter.java
+++ b/src/org/apache/xalan/xsltc/dom/StripWhitespaceFilter.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/UnionIterator.java b/src/org/apache/xalan/xsltc/dom/UnionIterator.java
index 12d1061..f746635 100644
--- a/src/org/apache/xalan/xsltc/dom/UnionIterator.java
+++ b/src/org/apache/xalan/xsltc/dom/UnionIterator.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 2001-2006 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
diff --git a/src/org/apache/xalan/xsltc/dom/XSLTCDTMManager.java b/src/org/apache/xalan/xsltc/dom/XSLTCDTMManager.java
index 2df5f8f..f3a7fe8 100644
--- a/src/org/apache/xalan/xsltc/dom/XSLTCDTMManager.java
+++ b/src/org/apache/xalan/xsltc/dom/XSLTCDTMManager.java
@@ -1,7 +1,9 @@
 /*
- * Copyright 1999-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the  "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *