private Set<ParameterMatch> getMatchingParameters( Word word ) {
            Set<ParameterMatch> matchingParameters = Sets.newLinkedHashSet();
            for( int i = 0; i < currentCase.getExplicitArguments().size(); i++ ) {
                String argumentValue = currentCase.getExplicitArguments().get( i );
                if( Objects.equal( word.getValue(), argumentValue ) ) {
                    if( i < scenarioModel.getExplicitParameters().size() ) {
                        ParameterMatch match = new ParameterMatch();
                        match.index = i;
                        match.parameter = scenarioModel.getExplicitParameters().get( i );
                        if( Objects.equal( word.getFormattedValue(), argumentValue ) ) {
                            matchingParameters.add( match );
                        }
                    }
                }
            }
            return matchingParameters;
        }
Collect all possible argument matches.
This results in a set of possible case arguments for each step argument
jgiven-core/src/main/java/com/tngtech/jgiven/report/analysis/CaseDifferenceAnalyzer.java