private void addArgumentByIndex( int index, StringBuilder currentWords, List<Word> formattedWords, Set<String> usedArguments ) {
        flushCurrentWord( currentWords, formattedWords, true );
        Word argument = argumentIndexToWord( index );
        formattedWords.add( argument );
        usedArguments.add( argument.getArgumentInfo().getArgumentName() );
    }
Looks up the argument by index via {@link #argumentIndexToWord(int)}, adds it to formattedWords and usedArguments
and flushes the previously accumulated text via {@link #flushCurrentWord(StringBuilder, List, boolean)}.

@param index is searchable index
@param currentWords this {@link StringBuilder} holds the previously accumulated words
@param formattedWords this is the resulting List of Words
@param usedArguments this is the set which tracks which arguments were already used
jgiven-core/src/main/java/com/tngtech/jgiven/report/model/StepFormatter.java