public boolean prepareRevoke(PersistentMemberPattern pattern,DistributionManager dm,InternalDistributedMember sender){
  if (logger.isDebugEnabled()) {
    logger.debug("Preparing revoke if pattern {}",pattern);
  }
  PendingRevokeListener membershipListener=new PendingRevokeListener(pattern,sender,dm);
synchronized (this) {
    for (    MemberRevocationListener listener : revocationListeners) {
      if (listener.matches(pattern)) {
        return false;
      }
    }
    pendingRevokes.put(pattern,membershipListener);
  }
  Set members=dm.addMembershipListenerAndGetDistributionManagerIds(membershipListener);
  if (!members.contains(sender) && sender.equals(dm.getId())) {
    cancelRevoke(pattern);
    return false;
  }
  return true;
}

public boolean prepareRevoke ( PersistentMemberPattern pattern , DistributionManager dm , InternalDistributedMember sender ) { if ( logger . isDebugEnabled ( ) ) { logger . debug ( "Preparing revoke if pattern {}" , pattern ) ; } PendingRevokeListener membershipListener = new PendingRevokeListener ( pattern , sender , dm ) ; synchronized ( this ) { for ( MemberRevocationListener listener : revocationListeners ) { if ( listener . matches ( pattern ) ) { return false ; } } pendingRevokes . put ( pattern , membershipListener ) ; } Set members = dm . addMembershipListenerAndGetDistributionManagerIds ( membershipListener ) ; if ( ! members . contains ( sender ) && sender . equals ( dm . getId ( ) ) ) { cancelRevoke ( pattern ) ; return false ; } return true ; }
prepare the revoke of a persistent id .
