code: @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;
      }
    }
docs: 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.