docs: public Configuration buildConfiguration() throws AnnotationRequired {
  
          if (!finder.isAnnotationPresent(Configure.class)) {
              // not using annotation configuration, default to most useful
              // configuration
              return new MostUsefulConfiguration();
          }
  
          Configuration configuration = configurationElement(finder, "using", Configuration.class);
          configuration.useKeywords(configurationElement(finder, "keywords", Keywords.class));
          configuration.useFailureStrategy(configurationElement(finder, "failureStrategy", FailureStrategy.class));
          configuration.usePendingStepStrategy(configurationElement(finder, "pendingStepStrategy",
                  PendingStepStrategy.class));
          configuration.useParanamer(configurationElement(finder, "paranamer", Paranamer.class));
          configuration.useStoryControls(configurationElement(finder, "storyControls", StoryControls.class));
          configuration.useStepCollector(configurationElement(finder, "stepCollector", StepCollector.class));
          configuration.useStepdocReporter(configurationElement(finder, "stepdocReporter", StepdocReporter.class));
          configuration.useStepFinder(configurationElement(finder, "stepFinder", StepFinder.class));
          configuration.useStepMonitor(configurationElement(finder, "stepMonitor", StepMonitor.class));
          configuration.useStepPatternParser(configurationElement(finder, "stepPatternParser", StepPatternParser.class));
          configuration.useStoryLoader(configurationElement(finder, "storyLoader", StoryLoader.class));
          configuration.useStoryParser(configurationElement(finder, "storyParser", StoryParser.class));
          configuration.useStoryPathResolver(configurationElement(finder, "storyPathResolver", StoryPathResolver.class));
          configuration
                  .useDefaultStoryReporter(configurationElement(finder, "defaultStoryReporter", StoryReporter.class));
          configuration.useStoryReporterBuilder(configurationElement(finder, "storyReporterBuilder",
                  StoryReporterBuilder.class));
          configuration.useViewGenerator(configurationElement(finder, "viewGenerator", ViewGenerator.class));
          configuration.useTableTransformers(configurationElement(finder, "tableTransformers", TableTransformers.class));
          configuration.useParameterConverters(
                  parameterConverters(finder, configuration.storyLoader(), configuration.tableTransformers()));
          configuration.useParameterControls(configurationElement(finder, "parameterControls", ParameterControls.class));
          configuration.usePathCalculator(configurationElement(finder, "pathCalculator", PathCalculator.class));
          return configuration;
      }