A field hint customizer can downgrade allowWrite if true is called before false. Here's a failing test:

    @Test
    void registerFieldWithCustomizersCannotDowngradeWrite() {
        Field field = ReflectionUtils.findField(TestType.class, "field");
        assertThat(field).isNotNull();
        this.reflectionHints.registerField(field, fieldHint -> fieldHint.allowWrite(true));
        this.reflectionHints.registerField(field, fieldHint -> fieldHint.allowWrite(false));
        assertTestTypeFieldHint(fieldHint -> {
            assertThat(fieldHint.getName()).isEqualTo("field");
            assertThat(fieldHint.isAllowWrite()).isTrue();
        });
    }