BucketPersistenceAdvisor extends PersistenceAdvisorImpl { @VisibleForTesting public boolean isRecovering() { return recovering; } BucketPersistenceAdvisor(CacheDistributionAdvisor cacheDistributionAdvisor,
      DistributedLockService distributedLockService, PersistentMemberView storage,
      String regionPath, DiskRegionStats diskStats, PersistentMemberManager memberManager,
      BucketLock bucketLock, ProxyBucketRegion proxyBucketRegion); private  BucketPersistenceAdvisor(CacheDistributionAdvisor cacheDistributionAdvisor,
      DistributedLockService distributedLockService, PersistentMemberView storage,
      String regionPath, DiskRegionStats diskStats, PersistentMemberManager memberManager,
      BucketLock bucketLock, ProxyBucketRegion proxyBucketRegion,
      Function<InternalPersistenceAdvisor, MembershipChangeListener> membershipChangeListenerProvider); void recoveryDone(RuntimeException e); @Override void checkInterruptedByShutdownAll(); @VisibleForTesting boolean isRecovering(); @Override void beginWaitingForMembershipChange(Set<PersistentMemberID> membersToWaitFor); @Override void logWaitingForMembers(); @Override void endWaitingForMembershipChange(); @Override void updateMembershipView(InternalDistributedMember replicate,
      boolean targetReinitializing); @Override boolean acquireTieLock(); @Override void releaseTieLock(); @Override Set<PersistentMemberID> getMissingMembers(); @Override PersistentMemberID generatePersistentID(); void dump(String infoMsg); @Override void setInitializing(PersistentMemberID newId); @Override void setOnline(boolean didGII, boolean wasAtomicCreation, PersistentMemberID newId);  }
@Test public void shouldBeMockable() throws Exception { BucketPersistenceAdvisor mockBucketAdvisor = mock(BucketPersistenceAdvisor.class); when(mockBucketAdvisor.isRecovering()).thenReturn(true); assertTrue(mockBucketAdvisor.isRecovering()); }