super( orb, scid, ior ) ; wrapper = POASystemException.get( orb, CORBALogDomains.RPC_PROTOCOL ) ;
if (!servantIsLocal) throw wrapper.servantMustBeLocal() ; if (cachedInfo == null) { ObjectAdapter oa = oaf.find( oaid ) ; cachedInfo = oa.makeInvocationInfo( objectId ) ; // InvocationInfo must be pushed before calling getInvocationServant orb.pushInvocationInfo( cachedInfo ) ; try { oa.enter( ); oa.getInvocationServant( cachedInfo ) ; } catch (ForwardException freq) { throw wrapper.illegalForwardRequest( freq ) ; } catch( OADestroyed oades ) { // This is an error since no user of this implementation // should ever throw this exception throw wrapper.adapterDestroyed( oades ) ; } finally { oa.returnServant( ); oa.exit( ); orb.popInvocationInfo() ; } } return cachedInfo ;