public List<ParsedTerm> filterElementsContainingUsefulInformation(final Map<String, List<ParsedTerm>> parsedTermsGroupedByField) {
        return parsedTermsGroupedByField.values()
                .stream()
                .map(this::filterElementsContainingUsefulInformation)
                .flatMap(Collection::stream)
                .collect(Collectors.toList());
    }
@Test
    void limitsToPositionalTermsIfTheyArePresent() {
        final Token token1 = new Token(1, "token1");
        token1.beginLine = 1;
        token1.beginColumn = 1;
        token1.endLine = 1;
        token1.endColumn = 6;
        final ParsedTerm positionalTerm1 = ParsedTerm.builder().field("field").value("nvmd").keyToken(ImmutableToken.create(token1)).build();
        final Token token2 = new Token(1, "token2");
        token1.beginLine = 1;
        token1.beginColumn = 11;
        token1.endLine = 1;
        token1.endColumn = 16;
        final ParsedTerm positionalTerm2 = ParsedTerm.builder().field("field").value("nvmd").keyToken(ImmutableToken.create(token2)).build();

        final Map<String, List<ParsedTerm>> fieldTerms = Map.of(
                "field", List.of(
                        positionalTerm1,
                        ParsedTerm.create("field", "ah!"),
                        positionalTerm2,
                        ParsedTerm.create("field", "eh!")
                )
        );
        assertThat(toTest.filterElementsContainingUsefulInformation(fieldTerms))
                .hasSize(2)
                .contains(positionalTerm1, positionalTerm2);
    }