private List<ScenarioStateField> getScenarioFields(Object object) {
        @SuppressWarnings("unchecked")
        List<Field> scenarioFields = FieldCache
                .get(object.getClass())
                .getFieldsWithAnnotation(ScenarioState.class, ProvidedScenarioState.class, ExpectedScenarioState.class);

        return scenarioFields.stream()
                .map(ScenarioStateField.fromField)
                .collect(toList());
    }
@throws AmbiguousResolutionException when multiple fields with the same resolution exist in the given object
jgiven-core/src/main/java/com/tngtech/jgiven/impl/inject/ValueInjector.java