@SuppressWarnings("unchecked")
    public void readValues(Object object) {
        validateFields(object);
        checkGuaranteedStatesAreInitialized(object);

        for (ScenarioStateField field : getScenarioFields(object)) {
            try {
                Object value = field.getField().get(object);
                updateValue(field, value);
                log.debug("Reading value {} from field {}", value, field.getField());
            } catch (IllegalAccessException e) {
                throw new RuntimeException("Error while reading field " + field.getField(), e);
            }
        }
    }
@throws JGivenMissingGuaranteedScenarioStateException in case a field is guaranteed
                                                    and is not initialized by the finishing stage
jgiven-core/src/main/java/com/tngtech/jgiven/impl/inject/ValueInjector.java