protected VersionTag fetchRemoteVersionTag(Object key){
  VersionTag tag=null;
  assert this.dataPolicy != DataPolicy.REPLICATE;
  TransactionId txId=cache.getCacheTransactionManager().suspend();
  try {
    boolean retry=true;
    InternalDistributedMember member=getRandomReplicate();
    while (retry) {
      try {
        if (member == null) {
          break;
        }
        FetchVersionResponse response=RemoteFetchVersionMessage.send(member,this,key);
        tag=response.waitForResponse();
        retry=false;
      }
 catch (      RemoteOperationException e) {
        member=getRandomReplicate();
        if (member != null) {
          if (logger.isDebugEnabled()) {
            logger.debug("Retrying RemoteFetchVersionMessage on member:{}",member);
          }
        }
      }
    }
  }
  finally {
    if (txId != null) {
      cache.getCacheTransactionManager().resume(txId);
    }
  }
  return tag;
}

protected VersionTag fetchRemoteVersionTag ( Object key ) { VersionTag tag = null ; assert this . dataPolicy != DataPolicy . REPLICATE ; TransactionId txId = cache . getCacheTransactionManager ( ) . suspend ( ) ; try { boolean retry = true ; InternalDistributedMember member = getRandomReplicate ( ) ; while ( retry ) { try { if ( member == null ) { break ; } FetchVersionResponse response = RemoteFetchVersionMessage . send ( member , this , key ) ; tag = response . waitForResponse ( ) ; retry = false ; } catch ( RemoteOperationException e ) { member = getRandomReplicate ( ) ; if ( member != null ) { if ( logger . isDebugEnabled ( ) ) { logger . debug ( "Retrying RemoteFetchVersionMessage on member:{}" , member ) ; } } } } } finally { if ( txId != null ) { cache . getCacheTransactionManager ( ) . resume ( txId ) ; } } return tag ; }
fetch version for the given key from a remote replicate member .
