anchor.diff:    GherkinTable table = new GherkinTable();
     Location location;
   
  +  String get boilerplate => _generateBoilerplate();
  +
     Step(this.verbiage, this.location);
   
     String toString() {
  
positive.code:           stepStatus.trace = s.toString();
            scenarioStatus.failedSteps.add(stepStatus);
          } finally {
            stepStatus.writeIntoBuffer();
            scenarioStatus.buffer.merge(stepStatus.buffer);
          }
  
negative.code:     }
    }
  
    dynamic unserialize(String parameter) {
      var unserialized = parameter;
      // Int ?
      try { unserialized = int.parse(parameter); }
      on FormatException catch (_) {}
      // Num ?
      try { unserialized = num.parse(parameter); }
      on FormatException catch (_) {}
  
      return unserialized;
    }
  
    String _generateBoilerplate() {
      var matchString = verbiage.replaceAll(new RegExp("\".+?\""), "\\\"(\\\\w+?)\\\"");
      var columnsVerbiage = table.length > 0 ? ", { ${table.names.join(", ")} }" : "";
      return ("\n@StepDef(\"$matchString\")\n${_generateFunctionName()}(ctx, params$columnsVerbiage) {\n  // todo \n}\n");
  