@Beta
  public void addScopedMethodInterceptor(MethodInfo targetMethod, IMethodInterceptor interceptor) {
    Checks.checkArgument(
      targetMethod.getKind().isFeatureScopedFixtureMethod() || targetMethod.getKind() == MethodKind.INITIALIZER,
      () -> "Only feature scoped initializer and fixture methods can be intercepted, but was: " + targetMethod.getKind()
    );
    scopedMethodInterceptors.computeIfAbsent(targetMethod, __ -> new ArrayList<>()).add(interceptor);
  }
Allows to intercept initializer, setup, and cleanup methods in the scope of a single feature.
<p>
You need to locate the method you want to intercept from the {@link SpecInfo} or its parent and use its {@link MethodInfo} as key.
<pre>{@code
  visitFeatureAnnotations(MyAnnotation an, FeatureInfo featureInfo) {
    featureInfo.addScopedMethodInterceptor(featureInfo.getParent().getInitializerMethod(), invocation -> invocation.proceed());
  }
}
</pre>
<p>
Only use this if you absolutely must intercept the method invocation itself, otherwise prefer to use one of
{@link #addInitializerInterceptor(IMethodInterceptor)},
{@link #addSetupInterceptor(IMethodInterceptor)},
{@link #addCleanupInterceptor(IMethodInterceptor)}.
<p>
The feature-scoped interceptors will execute before the spec interceptors.

@since 2.4
spock-core/src/main/java/org/spockframework/runtime/model/FeatureInfo.java