--- openjdk/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/Transform.java	Mon Nov  1 13:25:19 2010
+++ openjdk/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/transforms/Transform.java	Mon Nov  1 13:25:18 2010
@@ -247,6 +247,8 @@
 
       if (!_alreadyInitialized) {
          _transformHash = new HashMap(10);
+         // make sure builtin algorithms are all registered first
+         com.sun.org.apache.xml.internal.security.Init.init();
          _alreadyInitialized = true;
       }
    }
@@ -274,19 +276,13 @@
                "algorithm.alreadyRegistered", exArgs);
          }
 
-         ClassLoader cl = (ClassLoader) AccessController.doPrivileged(
-             new PrivilegedAction() {
-                 public Object run() {
-                     return Thread.currentThread().getContextClassLoader();
-                 }
-             });
+         ClassLoader cl = Thread.currentThread().getContextClassLoader();
 
          try {
              Transform._transformHash.put
                  (algorithmURI, Class.forName(implementingClass, true, cl));
          } catch (ClassNotFoundException e) {
-             // TODO Auto-generated catch block
-             e.printStackTrace();
+             throw new RuntimeException(e);
          }
       }
    }
