### Question:
ClusterBindingHandler implements LifecycleMessageHandler<RaftMessages.ReceivedInstantClusterIdAwareMessage<?>> { @Override public void handle( RaftMessages.ReceivedInstantClusterIdAwareMessage<?> message ) { if ( Objects.isNull( boundClusterId ) ) { log.debug( "Message handling has been stopped, dropping the message: %s", message.message() ); } else if ( !Objects.equals( boundClusterId, message.clusterId() ) ) { log.info( "Discarding message[%s] owing to mismatched clusterId. Expected: %s, Encountered: %s", message.message(), boundClusterId, message.clusterId() ); } else { delegateHandler.handle( message ); } } ClusterBindingHandler( LifecycleMessageHandler<RaftMessages.ReceivedInstantClusterIdAwareMessage<?>> delegateHandler, LogProvider logProvider ); static ComposableMessageHandler composable( LogProvider logProvider ); @Override void start( ClusterId clusterId ); @Override void stop(); @Override void handle( RaftMessages.ReceivedInstantClusterIdAwareMessage<?> message );  }### Answer:
@Test public void shouldDropMessagesIfHasNotBeenStarted() { handler.handle( heartbeat ); verify( delegate, Mockito.never() ).handle( heartbeat ); }