question: 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 ; }
target:  Prepare the revoke of a persistent id.