public StepDefinitionMatch(
     List<Argument> arguments,
     StepDefinition stepDefinition,
     String featurePath,
     Step step,
     LocalizedXStreams localizedXStreams) {
   super(arguments, stepDefinition.getLocation(false));
   this.stepDefinition = stepDefinition;
   this.featurePath = featurePath;
   this.step = step;
   this.localizedXStreams = localizedXStreams;
 }
 private CucumberException arityMismatch(int parameterCount) {
   List<Argument> arguments = createArgumentsForErrorMessage(step);
   return new CucumberException(
       String.format(
           "Arity mismatch: Step Definition '%s' with pattern [%s] is declared with %s parameters. However, the gherkin step has %s arguments %s. \nStep: %s%s",
           stepDefinition.getLocation(true),
           stepDefinition.getPattern(),
           parameterCount,
           arguments.size(),
           arguments,
           step.getKeyword(),
           step.getName()));
 }