@Override
    public Object getObject() throws RemoteObjectInstanceException {
        Object object;

        ClassLoader tccl = AccessController.doPrivileged(new PrivilegedAction<ClassLoader>() {

            @Override
            public ClassLoader run() {
                return Thread.currentThread().getContextClassLoader();
            }

        });

        try {
            Class<?> interfaceToNarrowTo = Class.forName(interfaceNameToNarrowTo, false, tccl);
            object = PortableRemoteObject.narrow(remoteObject, interfaceToNarrowTo);
        } catch (ClassNotFoundException ex) {
            throw new RemoteObjectInstanceException("Failed to find class " + interfaceNameToNarrowTo + " from classloader: " + tccl, ex);
        } catch (ClassCastException ex) {
            throw new RemoteObjectInstanceException("Unable to narrow remote object to " + interfaceNameToNarrowTo, ex);
        }

        return object;
    }
@ Override public Object getObject ( ) throws RemoteObjectInstanceException { Object object ; ClassLoader tccl = AccessController . doPrivileged ( new PrivilegedAction < ClassLoader > ( ) { @ Override public ClassLoader run ( ) { return Thread . currentThread ( ) . getContextClassLoader ( ) ; } } ) ; try { Class < ? > interfaceToNarrowTo = Class . forName ( interfaceNameToNarrowTo , false , tccl ) ; object = PortableRemoteObject . narrow ( remoteObject , interfaceToNarrowTo ) ; } catch ( ClassNotFoundException ex ) { throw new RemoteObjectInstanceException ( "Failed to find class " + interfaceNameToNarrowTo + " from classloader: " + tccl , ex ) ; } catch ( ClassCastException ex ) { throw new RemoteObjectInstanceException ( "Unable to narrow remote object to " + interfaceNameToNarrowTo , ex ) ; } return object ; }
/*
(non-Javadoc)

@see com.ibm.ws.clientcontainer.remote.common.object.RemoteObjectInstance#getObject(com.ibm.ws.serialization.SerializationService)