--- old/src/share/classes/com/sun/corba/se/spi/orb/ORB.java Sun May 11 21:46:34 2014 +++ new/src/share/classes/com/sun/corba/se/spi/orb/ORB.java Sun May 11 21:46:34 2014 @@ -25,8 +25,6 @@ package com.sun.corba.se.spi.orb; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; import java.util.Map ; import java.util.HashMap ; import java.util.Properties ; @@ -99,8 +97,6 @@ import com.sun.corba.se.impl.presentation.rmi.PresentationManagerImpl ; -import sun.misc.JavaAWTAccess; - public abstract class ORB extends com.sun.corba.se.org.omg.CORBA.ORB implements Broker, TypeCodeFactory { @@ -245,27 +241,12 @@ public static PresentationManager getPresentationManager() { SecurityManager sm = System.getSecurityManager(); - JavaAWTAccess javaAwtAccess = sun.misc.SharedSecrets.getJavaAWTAccess(); + sun.misc.JavaAWTAccess javaAwtAccess = sun.misc.SharedSecrets.getJavaAWTAccess(); if (sm != null && javaAwtAccess != null) { - Object appletContext; - try { - Class clazz = JavaAWTAccess.class; - Method method = clazz.getMethod("getAppletContext"); - appletContext = method.invoke(javaAwtAccess); - } catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException e) { - InternalError err = new InternalError(); - err.initCause(e); - throw err; - } - + final Object appletContext = javaAwtAccess.getAppletContext(); if (appletContext != null) { synchronized (pmContexts) { - PresentationManager pm = pmContexts.get(appletContext); - if (pm == null) { - pm = setupPresentationManager(); - pmContexts.put(appletContext, pm); - } - return pm; + return pmContexts.putIfAbsent(appletContext, setupPresentationManager()); } } }