@Override
    public Object findInjectableValue(final Object valueId, final DeserializationContext deserializationContext,
                                      final BeanProperty beanProperty, final Object beanInstance) {
        val key = valueId.toString();
        val valueToReturn = this._values.get(key);

        val wrapper = new DirectFieldAccessFallbackBeanWrapper(beanInstance);
        if (!this._values.containsKey(key)) {
            return wrapper.getPropertyValue(key);
        }
        val propType = Objects.requireNonNull(wrapper.getPropertyType(key));
        if (propType.equals(TriStateBoolean.class)) {
            return TriStateBoolean.valueOf(valueToReturn.toString().toUpperCase(Locale.ENGLISH));
        }
        return valueToReturn;
    }
This is {@link JacksonInjectableValueSupplier}.

@author Misagh Moayyed
@since 6.6.0
core/cas-server-core-util-api/src/main/java/org/apereo/cas/util/serialization/JacksonInjectableValueSupplier.java