private MethodInfo createMethodInfoForDoRunSetup(SpockExecutionContext context, final SpecInfo spec) {
    FeatureInfo currentFeature = context.getCurrentFeature();
    MethodInfo result = new MethodInfo((Object target, Object... arguments) -> {
        doRunSetup(context, spec);
        return null;
      }
    );
    result.setParent(currentFeature.getParent());
    result.setKind(MethodKind.SETUP);
    result.setFeature(currentFeature);
    result.setIteration(context.getCurrentIteration());
    if (spec.getIsBottomSpec()) {
      currentFeature.getSetupInterceptors().forEach(result::addInterceptor);
    }
    spec.getSetupInterceptors().forEach(result::addInterceptor);
    return result;
  }
Executes a single Spec. Notifies its supervisor about overall execution
progress and every invocation of Spec code.
Supervisor also determines the error strategy.

@author Peter Niederwieser
spock-core/src/main/java/org/spockframework/runtime/PlatformSpecRunner.java