private List<Word> getRemainingArguments( Set<String> usedArguments ) {
        List<Word> remainingArguments = Lists.newArrayList();
        for( int i = 0; i < arguments.size(); i++ ) {
            Object value = arguments.get( i ).value;
            String formattedValue = formatUsingFormatterOrNull( formatters.get( i ), value );

            if( !usedArguments.contains( arguments.get( i ).name ) ) {
                if( formattedValue == null
                        && formatters.get( i ) != null
                        && ( formatters.get( i ) instanceof TableFormatting ) ) {
                    DataTable dataTable = ( (TableFormatting) formatters.get( i ) ).formatTable( value );
                    remainingArguments.add( Word.argWord( arguments.get( i ).name, toDefaultStringFormat( value ),
                            dataTable ) );
                } else {
                    remainingArguments.add( Word.argWord( arguments.get( i ).name, toDefaultStringFormat( value ), formattedValue ) );

                }
            }
        }
        return remainingArguments;
    }
Returns the next index of the argument by decrementing 1 from the possibly parsed number

@param description this String will be searched from the start for a number
@param defaultIndex this will be returned if the match does not succeed
@return the parsed index or the defaultIndex
jgiven-core/src/main/java/com/tngtech/jgiven/report/model/StepFormatter.java