code: public @Nullable ChangeEvent<BsonDocument> getUnprocessedEventForDocumentId(
            final MongoNamespace namespace,
            final BsonValue documentId
    ) {
      this.instanceLock.readLock().lock();
      final NamespaceChangeStreamListener streamer;
      try {
        streamer = nsStreamers.get(namespace);
      } finally {
        this.instanceLock.readLock().unlock();
      }
  
      if (streamer == null) {
        return null;
      }
  
      return streamer.getUnprocessedEventForDocumentId(documentId);
    }
docs: If there is an unprocessed change event for a particular document ID, fetch it from the
  appropriate namespace change stream listener, and remove it. By reading the event here, we are
  assuming it will be processed by the consumer.
  
  @return the latest unprocessed change event for the given document ID and namespace, or null
  if none exists.