private InternalDistributedMember waitForNodeOrCreateBucket(RetryTimeKeeper retryTime,EntryEventImpl event,Integer bucketId){
  InternalDistributedMember newNode;
  if (retryTime.overMaximum()) {
    PRHARedundancyProvider.timedOut(this,null,null,"allocate a bucket",retryTime.getRetryTime());
  }
  retryTime.waitForBucketsRecovery();
  newNode=getNodeForBucketWrite(bucketId.intValue(),retryTime);
  if (newNode == null) {
    newNode=createBucket(bucketId.intValue(),getEntrySize(event),retryTime);
  }
  return newNode;
}

private InternalDistributedMember waitForNodeOrCreateBucket ( RetryTimeKeeper retryTime , EntryEventImpl event , Integer bucketId ) { InternalDistributedMember newNode ; if ( retryTime . overMaximum ( ) ) { PRHARedundancyProvider . timedOut ( this , null , null , "allocate a bucket" , retryTime . getRetryTime ( ) ) ; } retryTime . waitForBucketsRecovery ( ) ; newNode = getNodeForBucketWrite ( bucketId . intValue ( ) , retryTime ) ; if ( newNode == null ) { newNode = createBucket ( bucketId . intValue ( ) , getEntrySize ( event ) , retryTime ) ; } return newNode ; }
find an existing live node that owns the bucket , or create the bucket and return one of its owners .
