### Question:
ConversationManager extends LifecycleAdapter { @Override public void stop() { staleReaperJob.cancel( false ); conversations = null; } ConversationManager( ConversationSPI spi, Config config );  ConversationManager( ConversationSPI spi, Config config, int activityCheckIntervalMillis, int
            lockTimeoutAddition ); @Override void start(); @Override void stop(); Conversation acquire( RequestContext context ); void release( RequestContext context ); void begin( RequestContext context ); void end( RequestContext context ); Set<RequestContext> getActiveContexts(); void stop( RequestContext context ); Conversation acquire();  }### Answer:
@Test public void testStop() { JobHandle reaperJobHandle = mock( JobHandle.class ); when( config.get( HaSettings.lock_read_timeout ) ).thenReturn( Duration.ofMillis( 1 ) ); when( conversationSPI.scheduleRecurringJob( any( Group.class ), any( Long.class ), any( Runnable.class ) ) ).thenReturn( reaperJobHandle ); conversationManager = getConversationManager(); conversationManager.start(); conversationManager.stop(); assertNull( conversationManager.conversations ); verify( reaperJobHandle ).cancel( false ); }