def parse(contexts: [], prelude: nil, benchmark:, teardown: nil, loop_count: nil, required_ruby_version: nil)
      parse_benchmark(benchmark).each do |job|
        job.contexts = parse_contexts(contexts)
        job.metrics = job_metrics
        job.prelude.prepend("#{prelude}\n") if prelude
        job.teardown.prepend("#{teardown}\n") if teardown
        job.loop_count ||= loop_count
        job.required_ruby_version ||= required_ruby_version
      end.each(&:freeze)
    end
def parse(contexts: [], prelude: nil, benchmark:, teardown: nil, loop_count: nil, required_ruby_version: nil)
      parse_benchmark(benchmark).each do |job|
        job.contexts = parse_contexts(contexts)
        job.metrics = job_metrics
        job.prelude.prepend("#{prelude}\n") if prelude
        job.teardown.prepend("#{teardown}\n") if teardown
        job.loop_count ||= loop_count
        job.required_ruby_version ||= required_ruby_version
      end.each(&:freeze)
    end
This method is dynamically called by `BenchmarkDriver::JobParser.parse`
 @param [String] prelude
 @param [String,Array<String,Hash{ Symbol => String }>,Hash{ Symbol => String }] benchmark
 @param [String] teardown
 @param [Integer] loop_count
 @param [String] required_ruby_version
 @return [Array<BenchmarkDriver::Default::Job>]