code: public void generateCucumberITFiles(final File outputDirectory,
                                          final Collection<File> featureFiles) throws MojoExecutionException {
          Parser<GherkinDocument> parser = new Parser<GherkinDocument>(new AstBuilder());
          TagPredicate tagPredicate = new TagPredicate(overriddenParameters.getTags());
  
          TokenMatcher matcher = new TokenMatcher();
  
          for (final File file : featureFiles) {
              GherkinDocument gherkinDocument = null;
              final List<Pickle> acceptedPickles = new ArrayList<Pickle>();
              try {
                  String source = FileUtils.readFileToString(file);
                  gherkinDocument = parser.parse(source, matcher);
                  Compiler compiler = new Compiler();
                  List<Pickle> pickles = compiler.compile(gherkinDocument);
  
                  for (Pickle pickle : pickles) {
                      if (tagPredicate.apply(pickle.getTags())) {
                          acceptedPickles.add(pickle);
                      }
                  }
  
              } catch (final IOException e) {
                  // should never happen
                  // TODO - proper logging
                  System.out.println(format("WARNING: Failed to parse '%s'...IGNORING",
                                  file.getName()));
              }
  
              for (Pickle pickle : acceptedPickles) {
                  int locationIndex = pickle.getLocations().size();
                  final Location location = findLocationByIndex(pickle, 0);
                  //Scenario Outline has a first location the position on the table 
                  //and second one is the position of scenario self. 
                  final Location locationToCompare = findLocationByIndex(pickle, locationIndex - 1); 
                  outputFileName = classNamingScheme.generate(file.getName());
                  setFeatureFileLocation(file, location);
                  setParsedFeature(gherkinDocument.getFeature());
                  setParsedScenario(findScenarioDefinitionViaLocation(locationToCompare, gherkinDocument));
                  writeFile(outputDirectory);
              }
          }
      }
docs: Generates a Cucumber runner for each scenario, or example in a scenario outline.
  
  @param outputDirectory the output directory to place generated files
  @param featureFiles    The feature files to create runners for
  @throws MojoExecutionException if something goes wrong