public Stream<DTO> streamByIds(Set<String> idSet) {
        final List<ObjectId> objectIds = idSet.stream()
                .map(ObjectId::new)
                .collect(Collectors.toList());

        return streamQuery(DBQuery.in("_id", objectIds));
    }
@Test
    public void streamByIds() {
        final TestDTO hello1 = dbService.save(newDto("hello1"));
        final TestDTO hello2 = dbService.save(newDto("hello2"));
        final TestDTO hello3 = dbService.save(newDto("hello3"));
        dbService.save(newDto("hello5"));
        dbService.save(newDto("hello5"));

        try (final Stream<TestDTO> cursor = dbService.streamByIds(ImmutableSet.of(hello1.id, hello2.id, hello3.id))) {
            final List<TestDTO> list = cursor.collect(Collectors.toList());

            assertThat(list)
                    .hasSize(3)
                    .extracting("title")
                    .containsExactly("hello1", "hello2", "hello3");
        }
    }