public Flux<PrivateConversation> queryPrivateConversations(
            @NotNull Collection<Long> ownerIds,
            @NotNull Long targetId) {
        try {
            Validator.notNull(ownerIds, "ownerIds");
            Validator.notNull(targetId, "targetId");
        } catch (ResponseException e) {
            return Flux.error(e);
        }
        int size = ownerIds.size();
        if (size == 0) {
            return Flux.empty();
        }
        Set<PrivateConversation.Key> keys = CollectionUtil.newSetWithExpectedSize(size);
        for (Long ownerId : ownerIds) {
            keys.add(new PrivateConversation.Key(ownerId, targetId));
        }
        return queryPrivateConversations(keys);
    }
@throws com.mongodb.DuplicateKeyException if {@code readDate} isn't after the read date in DB
                                          when "isAllowMoveReadDateForward" is enabled
turms-service/src/main/java/im/turms/service/domain/conversation/service/ConversationService.java