jdk/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java
changeset 27747 3a271dc8b758
parent 25859 3317bb8137f4
child 40551 05eba5515cbb
--- a/jdk/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java	Fri Nov 21 16:05:11 2014 +0100
+++ b/jdk/src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java	Fri Nov 21 15:23:36 2014 -0500
@@ -90,18 +90,13 @@
         if (uri == null) {
             throw new NullPointerException("uri cannot be null");
         }
-        if (transforms == null || transforms.isEmpty()) {
-            this.transforms = Collections.emptyList();
-        } else {
-            this.transforms = Collections.unmodifiableList(
-                new ArrayList<Transform>(transforms));
-            for (int i = 0, size = this.transforms.size(); i < size; i++) {
-                if (!(this.transforms.get(i) instanceof Transform)) {
-                    throw new ClassCastException
-                        ("transforms["+i+"] is not a valid type");
-                }
-            }
+        List<Transform> tempList =
+            Collections.checkedList(new ArrayList<Transform>(),
+                                    Transform.class);
+        if (transforms != null) {
+            tempList.addAll(transforms);
         }
+        this.transforms = Collections.unmodifiableList(tempList);
         this.uri = uri;
         if (!uri.equals("")) {
             try {
@@ -244,7 +239,7 @@
 
         // guard against RetrievalMethod loops
         if ((data instanceof NodeSetData) && Utils.secureValidation(context)) {
-            NodeSetData nsd = (NodeSetData)data;
+            NodeSetData<?> nsd = (NodeSetData<?>)data;
             Iterator<?> i = nsd.iterator();
             if (i.hasNext()) {
                 Node root = (Node)i.next();