@Nullable
  public ExpressionStatement rewrite(ExpressionStatement stat) {
    try {
      if (!isInteraction(stat)) return null;

      createBuilder();
      setCount();
      setCall();
      addResponses();
      build();
      return register();
    } catch (InvalidSpecCompileException e) {
      resources.getErrorReporter().error(e);
      return null;
    }
  }
If the given statement is a valid interaction definition, returns the rewritten statement.
If the given statement is not an interaction definition, returns null.
If the given statement is an invalid interaction definition, records a compile error
and returns null.
spock-core/src/main/java/org/spockframework/compiler/InteractionRewriter.java