def run(run_options)
examples = examples_to_run(run_options)
run_options.reporter.add_example_group(self) unless examples.empty?
return true if examples.empty?
return dry_run(examples, run_options) if run_options.dry_run?
plugin_mock_framework(run_options)
define_methods_from_predicate_matchers(run_options)
success, before_all_instance_variables = run_before_all(run_options)
success, after_all_instance_variables = execute_examples(success, before_all_instance_variables, examples, run_options)
success = run_after_all(success, after_all_instance_variables, run_options)
end