private Description getStepDescription(String step) {
   for (Description description : currentScenario.getChildren()) {
     if (!finishedDescriptions.contains(description) && match(step, description)) {
       return description;
     }
   }
   throw new RuntimeException("Could not find description for: " + step);
 }
 private Description findChildForParams(Statement methodInvoker, Description methodDescription) {
   for (Description child : methodDescription.getChildren()) {
     InvokeParameterisedMethod parameterisedInvoker =
         findParameterisedMethodInvokerInChain(methodInvoker);
     /*
     if (child.getMethodName().startsWith(parameterisedInvoker.getParamsAsString()))
         return child;
         */
     int paramsSetInx = parameterisedInvoker.getParamsSetIdx() - 1;
     if (child.getMethodName().endsWith("[" + paramsSetInx + "]")) return child;
   }
   return null;
 }
 public JUnitScenarioReporter(RunNotifier notifier, Description storyDescription) {
   this.notifier = notifier;
   this.storyDescription = storyDescription;
   this.scenarioDescriptions = storyDescription.getChildren().iterator();
   this.currentScenario = this.scenarioDescriptions.next();
 }