private List<StepDefinitionMatch> stepDefinitionMatches(String uri, Step step) { List<StepDefinitionMatch> result = new ArrayList<StepDefinitionMatch>(); for (Backend backend : backends) { for (StepDefinition stepDefinition : backend.getStepDefinitions()) { List<Argument> arguments = stepDefinition.matchedArguments(step); if (arguments != null) { result.add( new StepDefinitionMatch( arguments, stepDefinition, uri, step, localizedXStreams, tableHeaderMapper)); } } } return result; }