public void validate(Map<String, NewDocumentType> documentDefinitions) {
        List<String> conflictingNames = documentDefinitions.keySet().stream()
                .filter(this::isReservedName)
                .toList();
        if (!conflictingNames.isEmpty()) {
            throw new IllegalArgumentException(makeReservedNameMessage(conflictingNames));
        }
    }
@Test
    void validation_is_case_insensitive() {
        ReservedDocumentTypeNameValidator validator = new ReservedDocumentTypeNameValidator();
        Map<String, NewDocumentType> orderedDocTypes = new TreeMap<>(asDocTypeMapping(List.of("NULL", "True", "anD")));
        try {
            validator.validate(orderedDocTypes);
            fail();
        } catch (IllegalArgumentException e) {
            assertTrue(e.getMessage().startsWith("The following document types conflict with reserved keyword names: " +
                    "'NULL', 'True', 'anD'."));
        }
    }