OAInvocationInfo cachedInfo = getCachedInfo() ;
if (!checkForCompatibleServant( cachedInfo, expectedType ))
return null ;
// Note that info is shared across multiple threads
// using the same subcontract, each of which may
// have its own operation. Therefore we need to copy it.
OAInvocationInfo info = new OAInvocationInfo(cachedInfo, operation) ;
orb.pushInvocationInfo( info ) ;
return info ;