Buggy code:
public class ChronicleMapKeyValueStore < K , MV , V > implements Supplier < EngineReplication > , Closeable , ObjectKeyValueStore < K , V > { private static final ScheduledExecutorService DELAYED_CLOSER = Executors . newSingleThreadScheduledExecutor ( new NamedThreadFactory ( "ChronicleMapKeyValueStore<seq2seq4repair_space>Closer" , true ) ) ; private static final Logger LOG = LoggerFactory . getLogger ( ChronicleMapKeyValueStore . class ) ; private final ChronicleMap < K , V > chronicleMap ; @ NotNull private final ObjectSubscription < K , V > subscriptions ; @ Nullable private final EngineReplication engineReplicator ; @ NotNull private final Asset asset ; @ NotNull private final String assetFullName ; @ Nullable private final EventLoop eventLoop ; private final AtomicBoolean isClosed = new AtomicBoolean ( ) ; private Class keyType ; private Class valueType ; private final SessionProvider sessionProvider ; private SessionDetails replicationSessionDetails ; public ChronicleMapKeyValueStore ( @ NotNull RequestContext context , @ NotNull Asset asset ) { } @ NotNull @ Override public KVSSubscription < K , V > subscription ( boolean createIfAbsent ) { } @ Override public boolean put ( K key , V value ) { } @ Nullable @ Override public V getAndPut ( K key , V value ) { } @ Override public boolean remove ( K key ) { } @ Nullable @ Override public V getAndRemove ( K key ) { } @ Override public V getUsing ( K key , @ Nullable Object value ) { } @ Override public long longSize ( ) { } @ Override public void keysFor ( int segment , @ NotNull SubscriptionConsumer < K > kConsumer ) throws InvalidSubscriberException { } @ Override public void entriesFor ( int segment , @ NotNull SubscriptionConsumer < MapEvent < K , V > > kvConsumer ) throws InvalidSubscriberException { } @ NotNull @ Override public Iterator < Map . Entry < K , V > > entrySetIterator ( ) { } @ NotNull @ Override public Iterator < K > keySetIterator ( ) { } @ Override public void clear ( ) { } @ Override public boolean containsValue ( final V value ) { } @ NotNull @ Override public Asset asset ( ) { } @ Nullable @ Override public KeyValueStore < K , V > underlying ( ) { } @ Override public void close ( ) { } @ Override public void accept ( @ NotNull final ReplicationEntry replicationEntry ) { } @ Nullable @ Override public EngineReplication get ( ) { } @ Override public Class < K > keyType ( ) { } @ Override public Class < V > valueType ( ) { } private class PublishingOperations extends MapEventListener < K , V > { @ Override public void onRemove ( @ NotNull K key , V value , boolean replicationEvent ) { } public void onRemove0 ( @ NotNull K key , V value , boolean replicationEven ) { if ( subscriptions . hasSubscribers ( ) ) <START_BUG> subscriptions . notifyEvent ( RemovedEvent . of ( assetFullName , key , value , false ) ) ; <END_BUG> } private void onPut0 ( @ NotNull K key , V newValue , @ Nullable V replacedValue , boolean replicationEvent , boolean added ) { } @ Override public void onPut ( @ NotNull K key , V newValue , @ Nullable V replacedValue , boolean replicationEvent , boolean added ) { } } private class NullOldValuePublishingOperations extends BytesMapEventListener { @ Override public void onRemove ( Bytes entry , long metaDataPos , long keyPos , long valuePos , boolean replicationEvent ) { } @ Override public void onPut ( Bytes entry , long metaDataPos , long keyPos , long valuePos , boolean added , boolean replicationEvent ) { } } }

Fix:
subscriptions . notifyEvent ( RemovedEvent . of ( assetFullName , key , value , replicationEven ) ) ;