From 9e3a19188988336029bf211dcfe46c658591bb41 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Aslak=20Helles=C3=B8y?= <aslak.hellesoy@gmail.com>
Date: Mon, 2 Jul 2018 14:59:10 +0100
Subject: [PATCH 1/6] Remove the Java Gherkin parser. Rely on Go
 binary/protobuf

---
 gherkin/java/.rsync                           |    3 -
 gherkin/java/Makefile                         |   28 +-
 gherkin/java/berp/CommandLine.dll             |  Bin 58368 -> 0 bytes
 gherkin/java/berp/RazorEngine.dll             |  Bin 82432 -> 0 bytes
 gherkin/java/berp/RazorEngine.pdb             |  Bin 249344 -> 0 bytes
 gherkin/java/berp/System.Web.Razor.dll        |  Bin 271056 -> 0 bytes
 gherkin/java/berp/berp.exe                    |  Bin 90624 -> 0 bytes
 gherkin/java/berp/berp.pdb                    |  Bin 183808 -> 0 bytes
 gherkin/java/bin/gherkin                      |    2 +-
 gherkin/java/bin/gherkin-generate-tokens      |    6 -
 gherkin/java/gherkin-java.razor               |  314 --
 gherkin/java/gherkin.berp                     |   38 -
 .../java/src/main/java/gherkin/AstNode.java   |   50 -
 gherkin/java/src/main/java/gherkin/Func.java  |    5 -
 .../src/main/java/gherkin/GenerateTokens.java |   22 -
 .../src/main/java/gherkin/GherkinDialect.java |   75 -
 .../java/gherkin/GherkinDialectProvider.java  |   57 -
 .../java/gherkin/GherkinDocumentBuilder.java  |  337 --
 .../gherkin/GherkinLanguageConstants.java     |   10 -
 .../src/main/java/gherkin/GherkinLine.java    |  119 -
 .../main/java/gherkin/GherkinLineSpan.java    |   30 -
 .../java/gherkin/IGherkinDialectProvider.java |   11 -
 .../src/main/java/gherkin/IGherkinLine.java   |   23 -
 .../java/src/main/java/gherkin/Location.java  |   19 -
 .../java/src/main/java/gherkin/Parser.java    | 4288 -----------------
 .../main/java/gherkin/ParserException.java    |   97 -
 .../src/main/java/gherkin/StringUtils.java    |   39 -
 .../src/main/java/gherkin/SymbolCounter.java  |    8 -
 gherkin/java/src/main/java/gherkin/Token.java |   37 -
 .../src/main/java/gherkin/TokenFormatter.java |   28 -
 .../java/gherkin/TokenFormatterBuilder.java   |   28 -
 .../src/main/java/gherkin/TokenMatcher.java   |  198 -
 .../src/main/java/gherkin/TokenScanner.java   |   39 -
 .../java/gherkin/messages/FileSources.java    |   71 -
 .../messages/ParserCucumberMessages.java      |   92 -
 .../java/gherkin/pickles/PickleCompiler.java  |  236 -
 .../cucumber/gherkin}/CucumberMessages.java   |    2 +-
 .../cucumber}/gherkin/GherkinException.java   |    4 +-
 .../cli => io/cucumber/gherkin}/Main.java     |   33 +-
 .../gherkin}/ProtobufCucumberMessages.java    |    3 +-
 .../cli => io/cucumber/gherkin}/Stdio.java    |    2 +-
 .../gherkin}/SubprocessCucumberMessages.java  |   24 +-
 gherkin/java/src/main/protobuf/events.proto   |   36 -
 .../src/main/protobuf/gherkin_document.proto  |  111 -
 .../main/protobuf/google/protobuf/any.proto   |  154 -
 gherkin/java/src/main/protobuf/location.proto |    7 -
 gherkin/java/src/main/protobuf/pickle.proto   |   42 -
 .../resources/gherkin/gherkin-languages.json  | 3509 --------------
 .../gherkin/GherkinDialectProviderTest.java   |   14 -
 .../gherkin/GherkinDocumentBuilderTest.java   |   98 -
 .../test/java/gherkin/GherkinLineTest.java    |   23 -
 .../src/test/java/gherkin/ParserTest.java     |   28 -
 .../SubprocessCucumberMessagesTest.java       |    3 +-
 53 files changed, 33 insertions(+), 10370 deletions(-)
 delete mode 100755 gherkin/java/berp/CommandLine.dll
 delete mode 100755 gherkin/java/berp/RazorEngine.dll
 delete mode 100755 gherkin/java/berp/RazorEngine.pdb
 delete mode 100755 gherkin/java/berp/System.Web.Razor.dll
 delete mode 100755 gherkin/java/berp/berp.exe
 delete mode 100755 gherkin/java/berp/berp.pdb
 delete mode 100755 gherkin/java/bin/gherkin-generate-tokens
 delete mode 100644 gherkin/java/gherkin-java.razor
 delete mode 100644 gherkin/java/gherkin.berp
 delete mode 100644 gherkin/java/src/main/java/gherkin/AstNode.java
 delete mode 100644 gherkin/java/src/main/java/gherkin/Func.java
 delete mode 100644 gherkin/java/src/main/java/gherkin/GenerateTokens.java
 delete mode 100644 gherkin/java/src/main/java/gherkin/GherkinDialect.java
 delete mode 100644 gherkin/java/src/main/java/gherkin/GherkinDialectProvider.java
 delete mode 100644 gherkin/java/src/main/java/gherkin/GherkinDocumentBuilder.java
 delete mode 100644 gherkin/java/src/main/java/gherkin/GherkinLanguageConstants.java
 delete mode 100644 gherkin/java/src/main/java/gherkin/GherkinLine.java
 delete mode 100644 gherkin/java/src/main/java/gherkin/GherkinLineSpan.java
 delete mode 100644 gherkin/java/src/main/java/gherkin/IGherkinDialectProvider.java
 delete mode 100644 gherkin/java/src/main/java/gherkin/IGherkinLine.java
 delete mode 100644 gherkin/java/src/main/java/gherkin/Location.java
 delete mode 100644 gherkin/java/src/main/java/gherkin/Parser.java
 delete mode 100644 gherkin/java/src/main/java/gherkin/ParserException.java
 delete mode 100644 gherkin/java/src/main/java/gherkin/StringUtils.java
 delete mode 100644 gherkin/java/src/main/java/gherkin/SymbolCounter.java
 delete mode 100644 gherkin/java/src/main/java/gherkin/Token.java
 delete mode 100644 gherkin/java/src/main/java/gherkin/TokenFormatter.java
 delete mode 100644 gherkin/java/src/main/java/gherkin/TokenFormatterBuilder.java
 delete mode 100644 gherkin/java/src/main/java/gherkin/TokenMatcher.java
 delete mode 100644 gherkin/java/src/main/java/gherkin/TokenScanner.java
 delete mode 100644 gherkin/java/src/main/java/gherkin/messages/FileSources.java
 delete mode 100644 gherkin/java/src/main/java/gherkin/messages/ParserCucumberMessages.java
 delete mode 100644 gherkin/java/src/main/java/gherkin/pickles/PickleCompiler.java
 rename gherkin/java/src/main/java/{gherkin/messages => io/cucumber/gherkin}/CucumberMessages.java (82%)
 rename gherkin/java/src/main/java/{ => io/cucumber}/gherkin/GherkinException.java (81%)
 rename gherkin/java/src/main/java/{gherkin/cli => io/cucumber/gherkin}/Main.java (64%)
 rename gherkin/java/src/main/java/{gherkin/messages => io/cucumber/gherkin}/ProtobufCucumberMessages.java (92%)
 rename gherkin/java/src/main/java/{gherkin/cli => io/cucumber/gherkin}/Stdio.java (93%)
 rename gherkin/java/src/main/java/{gherkin/messages => io/cucumber/gherkin}/SubprocessCucumberMessages.java (74%)
 delete mode 100644 gherkin/java/src/main/protobuf/events.proto
 delete mode 100644 gherkin/java/src/main/protobuf/gherkin_document.proto
 delete mode 100644 gherkin/java/src/main/protobuf/google/protobuf/any.proto
 delete mode 100644 gherkin/java/src/main/protobuf/location.proto
 delete mode 100644 gherkin/java/src/main/protobuf/pickle.proto
 delete mode 100644 gherkin/java/src/main/resources/gherkin/gherkin-languages.json
 delete mode 100644 gherkin/java/src/test/java/gherkin/GherkinDialectProviderTest.java
 delete mode 100644 gherkin/java/src/test/java/gherkin/GherkinDocumentBuilderTest.java
 delete mode 100644 gherkin/java/src/test/java/gherkin/GherkinLineTest.java
 delete mode 100644 gherkin/java/src/test/java/gherkin/ParserTest.java
 rename gherkin/java/src/test/java/{gherkin/messages => io/cucumber/gherkin}/SubprocessCucumberMessagesTest.java (88%)

diff --git a/gherkin/java/.rsync b/gherkin/java/.rsync
index ba5a913b03..f0b2feec42 100644
--- a/gherkin/java/.rsync
+++ b/gherkin/java/.rsync
@@ -3,7 +3,4 @@
 ../../.templates/java/ .
 ../../.templates/gpg/ .
 ../testdata/ testdata/
-../gherkin.berp gherkin.berp
-../bin/ berp/
-../gherkin-languages.json src/main/resources/gherkin/gherkin-languages.json
 ../proto/ src/main/protobuf/
diff --git a/gherkin/java/Makefile b/gherkin/java/Makefile
index 968fee8d2f..0eddefcfc9 100644
--- a/gherkin/java/Makefile
+++ b/gherkin/java/Makefile
@@ -2,7 +2,6 @@ SHELL := /usr/bin/env bash
 GOOD_FEATURE_FILES = $(shell find testdata/good -name "*.feature")
 BAD_FEATURE_FILES  = $(shell find testdata/bad -name "*.feature")
 
-TOKENS       = $(patsubst testdata/%.feature,acceptance/testdata/%.feature.tokens,$(GOOD_FEATURE_FILES))
 ASTS         = $(patsubst testdata/%.feature,acceptance/testdata/%.feature.ast.ndjson,$(GOOD_FEATURE_FILES))
 PICKLES      = $(patsubst testdata/%.feature,acceptance/testdata/%.feature.pickles.ndjson,$(GOOD_FEATURE_FILES))
 SOURCES      = $(patsubst testdata/%.feature,acceptance/testdata/%.feature.source.ndjson,$(GOOD_FEATURE_FILES))
@@ -17,26 +16,13 @@ JAVA_FILES = $(shell find . -name "*.java")
 default: .compared
 .PHONY: default
 
-protobins: $(PROTOBUFBINS)
-protos: $(PROTOBUFS)
-
-.compared: $(PROTOBUFS) $(TOKENS) $(ASTS) $(PICKLES) $(ERRORS) $(SOURCES)
+.compared: $(PROTOBUFS) $(ASTS) $(PICKLES) $(ERRORS) $(SOURCES)
 	touch $@
 
-.built: src/main/java/gherkin/Parser.java src/main/resources/gherkin/gherkin-languages.json $(JAVA_FILES) LICENSE pom.xml
+.built: $(JAVA_FILES) LICENSE pom.xml
 	mvn install
 	touch $@
 
-# # Generate
-# acceptance/testdata/%.feature.tokens: testdata/%.feature .built
-# 	mkdir -p `dirname $@`
-# 	bin/gherkin-generate-tokens $< > $<.tokens
-
-acceptance/testdata/%.feature.tokens: testdata/%.feature testdata/%.feature.tokens .built
-	mkdir -p `dirname $@`
-	bin/gherkin-generate-tokens $< > $@
-	diff --unified $<.tokens $@
-
 # # Generate
 # acceptance/testdata/%.feature.ast.ndjson: testdata/%.feature .built
 # 	mkdir -p `dirname $@`
@@ -92,16 +78,6 @@ acceptance/testdata/%.feature.errors.ndjson: testdata/%.feature testdata/%.featu
 	bin/gherkin --no-source $< | jq --sort-keys --compact-output "." > $@
 	diff --unified <(jq "." $<.errors.ndjson) <(jq "." $@)
 
-src/main/java/gherkin/Parser.java: gherkin.berp gherkin-java.razor berp/berp.exe
-	-mono berp/berp.exe -g gherkin.berp -t gherkin-java.razor -o $@
-	# Remove BOM
-	awk 'NR==1{sub(/^\xef\xbb\xbf/,"")}{print}' < $@ > $@.nobom
-	mv $@.nobom $@
-
 clean:
 	rm -rf .compared .built acceptance target
 .PHONY: clean
-
-clobber: clean
-	rm -rf src/main/java/gherkin/Parser.java
-.PHONY: clobber
diff --git a/gherkin/java/berp/CommandLine.dll b/gherkin/java/berp/CommandLine.dll
deleted file mode 100755
index d5497ef2957ad975b8f5030a14285901e6dceac4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 58368
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

diff --git a/gherkin/java/berp/RazorEngine.dll b/gherkin/java/berp/RazorEngine.dll
deleted file mode 100755
index ae6f70e02b1fc31001dd25260c2681c5a76fc359..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 82432
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
THvqK|uZ$FD|Nqqg8yNUMZi5gM

diff --git a/gherkin/java/berp/RazorEngine.pdb b/gherkin/java/berp/RazorEngine.pdb
deleted file mode 100755
index ec9e2486083e7b4f90e1174dc527018180c98da5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 249344
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
U4c)JUH^3jko8bTDKc@u#2Q+Ev!T<mO

diff --git a/gherkin/java/berp/System.Web.Razor.dll b/gherkin/java/berp/System.Web.Razor.dll
deleted file mode 100755
index 8a6fca74dc9857aa3e27356e6847a97d59d681f0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 271056
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
Ru!p|O!Q2!Zb+L8Ge*momx`O}!

diff --git a/gherkin/java/berp/berp.exe b/gherkin/java/berp/berp.exe
deleted file mode 100755
index 84e7bbbdeca00166c64e74b4c06339461468178c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 90624
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
SamDd_L(g2xb{n(>3j9CxG6cK;

diff --git a/gherkin/java/berp/berp.pdb b/gherkin/java/berp/berp.pdb
deleted file mode 100755
index fa33298b6a712cee3af6c1aa715eab45c71cefb4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 183808
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
AbpQYW

diff --git a/gherkin/java/bin/gherkin b/gherkin/java/bin/gherkin
index 5c2efd96d9..e0a9970665 100755
--- a/gherkin/java/bin/gherkin
+++ b/gherkin/java/bin/gherkin
@@ -3,4 +3,4 @@ DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
 
 java \
     -classpath $DIR/../target/gherkin-6.0.0-SNAPSHOT.jar:$HOME/.m2/repository/io/cucumber/messages/1.0.0-SNAPSHOT/messages-1.0.0-SNAPSHOT.jar \
-    gherkin.cli.Main $*
+    io.cucumber.gherkin.Main $*
diff --git a/gherkin/java/bin/gherkin-generate-tokens b/gherkin/java/bin/gherkin-generate-tokens
deleted file mode 100755
index f5394bc739..0000000000
--- a/gherkin/java/bin/gherkin-generate-tokens
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env bash
-DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
-
-java \
-    -classpath $DIR/../target/gherkin-6.0.0-SNAPSHOT.jar:$HOME/.m2/repository/io/cucumber/messages/1.0.0-SNAPSHOT/messages-1.0.0-SNAPSHOT.jar \
-    gherkin.GenerateTokens $*
diff --git a/gherkin/java/gherkin-java.razor b/gherkin/java/gherkin-java.razor
deleted file mode 100644
index 5b1d47d74b..0000000000
--- a/gherkin/java/gherkin-java.razor
+++ /dev/null
@@ -1,314 +0,0 @@
-//      This code was generated by Berp (http://https://github.com/gasparnagy/berp/).
-//
-//      Changes to this file may cause incorrect behavior and will be lost if
-//      the code is regenerated.
-
-@using Berp;
-@helper CallProduction(ProductionRule production)
-{
-    switch(production.Type) {
-        case ProductionRuleType.Start:
-                @:startRule(context, RuleType.@production.RuleName);
-            break;
-        case ProductionRuleType.End:
-                @:endRule(context, RuleType.@production.RuleName);
-            break;
-        case ProductionRuleType.Process:
-                @:build(context, token);
-            break;
-    }
-}
-@helper HandleParserError(IEnumerable<string> expectedTokens, State state)
-{<text>
-        final String stateComment = "State: @state.Id - @Raw(state.Comment)";
-        token.detach();
-        List<String> expectedTokens = asList("@Raw(string.Join("\", \"", expectedTokens))");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return @state.Id;
-</text>}
-@helper matchToken(TokenType tokenType)
-{<text>match_@(tokenType)(context, token)</text>}
-
-package gherkin;
-
-import java.io.Reader;
-import java.io.StringReader;
-import java.util.ArrayDeque;
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Queue;
-
-import static java.util.Arrays.asList;
-
-public class @Model.ParserClassName<T> {
-    public enum TokenType {
-        None,
-        @foreach(var rule in Model.RuleSet.TokenRules)
-        {<text>        @rule.Name.Replace("#", ""),
-</text>}        ;
-    }
-
-    public enum RuleType {
-        None,
-        @foreach(var rule in Model.RuleSet.Where(r => !r.TempRule))
-        {<text>        @rule.Name.Replace("#", "_"), // @rule.ToString(true)
-</text>}        ;
-
-        public static RuleType cast(TokenType tokenType) {
-            return RuleType.values()[tokenType.ordinal()];
-        }
-    }
-
-    private final Builder<T> builder;
-
-    public boolean stopAtFirstError;
-
-    class ParserContext {
-        public final ITokenScanner tokenScanner;
-        public final ITokenMatcher tokenMatcher;
-        public final Queue<Token> tokenQueue;
-        public final List<ParserException> errors;
-
-        ParserContext(ITokenScanner tokenScanner, ITokenMatcher tokenMatcher, Queue<Token> tokenQueue, List<ParserException> errors) {
-            this.tokenScanner = tokenScanner;
-            this.tokenMatcher = tokenMatcher;
-            this.tokenQueue = tokenQueue;
-            this.errors = errors;
-        }
-    }
-
-    public Parser(Builder<T> builder) {
-        this.builder = builder;
-    }
-
-    public T parse(String source) {
-        return parse(new StringReader(source));
-    }
-
-    public T parse(Reader source) {
-        return parse(new TokenScanner(source));
-    }
-
-    public T parse(ITokenScanner tokenScanner) {
-        return parse(tokenScanner, new TokenMatcher());
-    }
-
-    public T parse(String source, ITokenMatcher tokenMatcher) {
-        return parse(new StringReader(source), tokenMatcher);
-    }
-
-    public T parse(Reader source, ITokenMatcher tokenMatcher) {
-        return parse(new TokenScanner(source), tokenMatcher);
-    }
-
-    public T parse(ITokenScanner tokenScanner, ITokenMatcher tokenMatcher) {
-        builder.reset();
-        tokenMatcher.reset();
-
-        ParserContext context = new ParserContext(
-                tokenScanner,
-                tokenMatcher,
-                new LinkedList<Token>(),
-                new ArrayList<ParserException>()
-        );
-
-        startRule(context, RuleType.@Model.RuleSet.StartRule.Name);
-        int state = 0;
-        Token token;
-        do {
-            token = readToken(context);
-            state = matchToken(state, token, context);
-        } while (!token.isEOF());
-
-        endRule(context, RuleType.@Model.RuleSet.StartRule.Name);
-
-        if (context.errors.size() > 0) {
-            throw new ParserException.CompositeParserException(context.errors);
-        }
-
-        return builder.getResult();
-    }
-
-    private void addError(ParserContext context, ParserException error) {
-        context.errors.add(error);
-        if (context.errors.size() > 10)
-            throw new ParserException.CompositeParserException(context.errors);
-    }
-
-    private <V> V handleAstError(ParserContext context, final Func<V> action) {
-        return handleExternalError(context, action, null);
-    }
-
-    private <V> V handleExternalError(ParserContext context, Func<V> action, V defaultValue) {
-        if (stopAtFirstError) {
-            return action.call();
-        }
-
-        try {
-            return action.call();
-        } catch (ParserException.CompositeParserException compositeParserException) {
-            for (ParserException error : compositeParserException.errors) {
-                addError(context, error);
-            }
-        } catch (ParserException error) {
-            addError(context, error);
-        }
-        return defaultValue;
-    }
-
-    private void build(final ParserContext context, final Token token) {
-        handleAstError(context, new Func<Void>() {
-            public Void call() {
-                builder.build(token);
-                return null;
-            }
-        });
-    }
-
-    private void startRule(final ParserContext context, final RuleType ruleType) {
-        handleAstError(context, new Func<Void>() {
-            public Void call() {
-                builder.startRule(ruleType);
-                return null;
-            }
-        });
-    }
-
-    private void endRule(final ParserContext context, final RuleType ruleType) {
-        handleAstError(context, new Func<Void>() {
-            public Void call() {
-                builder.endRule(ruleType);
-                return null;
-            }
-        });
-    }
-
-    private Token readToken(ParserContext context) {
-        return context.tokenQueue.size() > 0 ? context.tokenQueue.remove() : context.tokenScanner.read();
-    }
-
-@foreach(var rule in Model.RuleSet.TokenRules)
-{<text>
-    private boolean match_@(rule.Name.Replace("#", ""))(final ParserContext context, final Token token) {
-        @if (rule.Name != "#EOF")
-        {
-        @:if (token.isEOF()) return false;
-        }
-        return handleExternalError(context, new Func<Boolean>() {
-            public Boolean call() {
-                return context.tokenMatcher.match_@(rule.Name.Replace("#", ""))(token);
-            }
-        }, false);
-    }</text>
-}
-
-    private int matchToken(int state, Token token, ParserContext context) {
-        int newState;
-        switch(state) {
-        @foreach(var state in Model.States.Values.Where(s => !s.IsEndState))
-        {
-            @:case @state.Id:
-                @:newState = matchTokenAt_@(state.Id)(token, context);
-                @:break;
-        }
-            default:
-                throw new IllegalStateException("Unknown state: " + state);
-        }
-        return newState;
-    }
-
-@foreach(var state in Model.States.Values.Where(s => !s.IsEndState))
-{
-<text>
-    // @Raw(state.Comment)
-    private int matchTokenAt_@(state.Id)(Token token, ParserContext context) {
-        @foreach(var transition in state.Transitions)
-        {
-        @:if (@matchToken(transition.TokenType))
-        @:{
-            if (transition.LookAheadHint != null)
-            {
-            @:if (lookahead_@(transition.LookAheadHint.Id)(context, token))
-            @:{
-            }
-            foreach(var production in transition.Productions)
-            {
-                @CallProduction(production)
-            }
-            @:return @transition.TargetState;
-            if (transition.LookAheadHint != null)
-            {
-            @:}
-            }
-        @:}
-        }
-        @HandleParserError(state.Transitions.Select(t => "#" + t.TokenType.ToString()).Distinct(), state)
-    }
-</text>
-}
-
-@foreach(var lookAheadHint in Model.RuleSet.LookAheadHints)
-{
-<text>
-    private boolean lookahead_@(lookAheadHint.Id)(ParserContext context, Token currentToken) {
-        currentToken.detach();
-        Token token;
-        Queue<Token> queue = new ArrayDeque<Token>();
-        boolean match = false;
-        do
-        {
-            token = readToken(context);
-            token.detach();
-            queue.add(token);
-
-            if (false
-            @foreach(var tokenType in lookAheadHint.ExpectedTokens)
-            {
-                @:|| @matchToken(tokenType)
-            }
-            )
-            {
-                match = true;
-                break;
-            }
-        } while (false
-        @foreach(var tokenType in lookAheadHint.Skip)
-        {
-            @:|| @matchToken(tokenType)
-        }
-        );
-
-        context.tokenQueue.addAll(queue);
-
-        return match;
-    }
-</text>
-}
-
-    public interface Builder<T> {
-        void build(Token token);
-        void startRule(RuleType ruleType);
-        void endRule(RuleType ruleType);
-        T getResult();
-        void reset();
-    }
-
-    public interface ITokenScanner {
-        Token read();
-    }
-
-    public interface ITokenMatcher {
-        @foreach(var rule in Model.RuleSet.TokenRules)
-        {
-        @:boolean match_@(rule.Name.Replace("#", ""))(Token token);
-        }
-        void reset();
-    }
-}
diff --git a/gherkin/java/gherkin.berp b/gherkin/java/gherkin.berp
deleted file mode 100644
index b596cb0f8c..0000000000
--- a/gherkin/java/gherkin.berp
+++ /dev/null
@@ -1,38 +0,0 @@
-[
-	Tokens -> #Empty,#Comment,#TagLine,#FeatureLine,#RuleLine,#BackgroundLine,#ScenarioLine,#ExamplesLine,#StepLine,#DocStringSeparator,#TableRow,#Language
-	IgnoredTokens -> #Comment,#Empty
-	ClassName -> Parser
-	Namespace -> Gherkin
-]
-
-GherkinDocument! := Feature?
-Feature! := FeatureHeader Background? ScenarioDefinition* Rule*
-FeatureHeader! := #Language? Tags? #FeatureLine DescriptionHelper
-
-Rule! := RuleHeader Background? ScenarioDefinition*
-RuleHeader! := #RuleLine DescriptionHelper
-
-Background! := #BackgroundLine DescriptionHelper Step*
-
-// we could avoid defining ScenarioDefinition, but that would require regular look-aheads, so worse performance
-ScenarioDefinition! := Tags? Scenario
-
-Scenario! := #ScenarioLine DescriptionHelper Step* ExamplesDefinition*
-// after the first "Data" block, interpreting a tag line is ambiguous (tagline of next examples or of next scenario)
-// because of this, we need a lookahead hint, that connects the tag line to the next examples, if there is an examples block ahead
-ExamplesDefinition! [#Empty|#Comment|#TagLine->#ExamplesLine]:= Tags? Examples
-Examples! := #ExamplesLine DescriptionHelper ExamplesTable?
-ExamplesTable! := #TableRow #TableRow*
-
-Step! := #StepLine StepArg?
-StepArg := (DataTable | DocString)
-
-DataTable! := #TableRow+
-DocString! := #DocStringSeparator #Other* #DocStringSeparator
-
-Tags! := #TagLine+
-
-// we need to explicitly mention comment, to avoid merging it into the description line's #Other token
-// we also eat the leading empty lines, the tailing lines are not removed by the parser to avoid lookahead, this has to be done by the AST builder
-DescriptionHelper := #Empty* Description? #Comment*
-Description! := #Other+
diff --git a/gherkin/java/src/main/java/gherkin/AstNode.java b/gherkin/java/src/main/java/gherkin/AstNode.java
deleted file mode 100644
index e52ba7f1a9..0000000000
--- a/gherkin/java/src/main/java/gherkin/AstNode.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package gherkin;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import static gherkin.Parser.RuleType;
-import static gherkin.Parser.TokenType;
-
-public class AstNode {
-    private final Map<RuleType, List<Object>> subItems = new HashMap<RuleType, List<Object>>();
-    public final RuleType ruleType;
-
-    public AstNode(RuleType ruleType) {
-        this.ruleType = ruleType;
-    }
-
-    public void add(RuleType ruleType, Object obj) {
-        List<Object> items = subItems.get(ruleType);
-        if (items == null) {
-            items = new ArrayList<Object>();
-            subItems.put(ruleType, items);
-        }
-        items.add(obj);
-    }
-
-    public <T> T getSingle(RuleType ruleType, T defaultResult) {
-        List<Object> items = getItems(ruleType);
-        return (T) (items.isEmpty() ? defaultResult : items.get(0));
-    }
-
-    public <T> List<T> getItems(RuleType ruleType) {
-        List<T> items = (List<T>) subItems.get(ruleType);
-        if (items == null) {
-            return Collections.emptyList();
-        }
-        return items;
-    }
-
-    public Token getToken(TokenType tokenType) {
-        RuleType ruleType = RuleType.cast(tokenType);
-        return getSingle(ruleType, new Token(null, null));
-    }
-
-    public List<Token> getTokens(TokenType tokenType) {
-        return getItems(RuleType.cast(tokenType));
-    }
-}
diff --git a/gherkin/java/src/main/java/gherkin/Func.java b/gherkin/java/src/main/java/gherkin/Func.java
deleted file mode 100644
index fd6d635a7a..0000000000
--- a/gherkin/java/src/main/java/gherkin/Func.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package gherkin;
-
-public interface Func<V> {
-    V call();
-}
diff --git a/gherkin/java/src/main/java/gherkin/GenerateTokens.java b/gherkin/java/src/main/java/gherkin/GenerateTokens.java
deleted file mode 100644
index f2839cafcc..0000000000
--- a/gherkin/java/src/main/java/gherkin/GenerateTokens.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package gherkin;
-
-import gherkin.cli.Stdio;
-
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.InputStreamReader;
-import java.io.UnsupportedEncodingException;
-
-public class GenerateTokens {
-    public static void main(String[] args) throws FileNotFoundException, UnsupportedEncodingException {
-        TokenFormatterBuilder builder = new TokenFormatterBuilder();
-        Parser<String> parser = new Parser<>(builder);
-        TokenMatcher matcher = new TokenMatcher();
-        for (String fileName : args) {
-            InputStreamReader in = new InputStreamReader(new FileInputStream(fileName), "UTF-8");
-            String result = parser.parse(in, matcher);
-            Stdio.out.print(result);
-            Stdio.out.flush(); // print doesn't autoflush
-        }
-    }
-}
diff --git a/gherkin/java/src/main/java/gherkin/GherkinDialect.java b/gherkin/java/src/main/java/gherkin/GherkinDialect.java
deleted file mode 100644
index f30c97ce84..0000000000
--- a/gherkin/java/src/main/java/gherkin/GherkinDialect.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package gherkin;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import static java.util.Collections.singletonList;
-
-public class GherkinDialect {
-    private final Map<String, List<String>> keywords;
-    private String language;
-
-    public GherkinDialect(String language, Map<String, List<String>> keywords) {
-        this.language = language;
-        this.keywords = keywords;
-    }
-
-    public List<String> getFeatureKeywords() {
-        return keywords.get("feature");
-    }
-
-    public List<String> getScenarioKeywords() {
-        return keywords.get("scenario");
-    }
-
-    public List<String> getStepKeywords() {
-        List<String> result = new ArrayList<>();
-        result.addAll(getGivenKeywords());
-        result.addAll(getWhenKeywords());
-        result.addAll(getThenKeywords());
-        result.addAll(getAndKeywords());
-        result.addAll(getButKeywords());
-        return result;
-    }
-
-    public List<String> getBackgroundKeywords() {
-        return keywords.get("background");
-    }
-
-    public List<String> getScenarioOutlineKeywords() {
-        return keywords.get("scenarioOutline");
-    }
-
-    public List<String> getExamplesKeywords() {
-        return keywords.get("examples");
-    }
-
-    public List<String> getGivenKeywords() {
-        return keywords.get("given");
-    }
-
-    public List<String> getWhenKeywords() {
-        return keywords.get("when");
-    }
-
-    public List<String> getThenKeywords() {
-        return keywords.get("then");
-    }
-
-    public List<String> getAndKeywords() {
-        return keywords.get("and");
-    }
-
-    public List<String> getButKeywords() {
-        return keywords.get("but");
-    }
-
-    public List<String> getRuleKeywords() {
-        return keywords.get("rule");
-    }
-
-    public String getLanguage() {
-        return language;
-    }
-}
diff --git a/gherkin/java/src/main/java/gherkin/GherkinDialectProvider.java b/gherkin/java/src/main/java/gherkin/GherkinDialectProvider.java
deleted file mode 100644
index 4e52e731bd..0000000000
--- a/gherkin/java/src/main/java/gherkin/GherkinDialectProvider.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package gherkin;
-
-import io.cucumber.messages.com.google.gson.Gson;
-
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import static java.util.Collections.sort;
-import static java.util.Collections.unmodifiableList;
-
-public class GherkinDialectProvider implements IGherkinDialectProvider {
-    private static Map<String, Map<String, List<String>>> DIALECTS;
-    private final String default_dialect_name;
-
-    static {
-        Gson gson = new Gson();
-        try {
-            Reader dialects = new InputStreamReader(GherkinDialectProvider.class.getResourceAsStream("/gherkin/gherkin-languages.json"), "UTF-8");
-            DIALECTS = gson.fromJson(dialects, Map.class);
-        } catch (UnsupportedEncodingException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    public GherkinDialectProvider(String default_dialect_name) {
-        this.default_dialect_name = default_dialect_name;
-    }
-
-    public GherkinDialectProvider() {
-        this("en");
-    }
-
-    public GherkinDialect getDefaultDialect() {
-        return getDialect(default_dialect_name, null);
-    }
-
-    @Override
-    public GherkinDialect getDialect(String language, Location location) {
-        Map<String, List<String>> map = DIALECTS.get(language);
-        if (map == null) {
-            throw new ParserException.NoSuchLanguageException(language, location);
-        }
-
-        return new GherkinDialect(language, map);
-    }
-
-    @Override
-    public List<String> getLanguages() {
-        List<String> languages = new ArrayList<String>(DIALECTS.keySet());
-        sort(languages);
-        return unmodifiableList(languages);
-    }
-}
diff --git a/gherkin/java/src/main/java/gherkin/GherkinDocumentBuilder.java b/gherkin/java/src/main/java/gherkin/GherkinDocumentBuilder.java
deleted file mode 100644
index 207fa7bfb8..0000000000
--- a/gherkin/java/src/main/java/gherkin/GherkinDocumentBuilder.java
+++ /dev/null
@@ -1,337 +0,0 @@
-package gherkin;
-
-import io.cucumber.messages.Messages.Background;
-import io.cucumber.messages.Messages.Comment;
-import io.cucumber.messages.Messages.DataTable;
-import io.cucumber.messages.Messages.DocString;
-import io.cucumber.messages.Messages.Examples;
-import io.cucumber.messages.Messages.Feature;
-import io.cucumber.messages.Messages.FeatureChild;
-import io.cucumber.messages.Messages.GherkinDocument;
-import io.cucumber.messages.Messages.Location;
-import io.cucumber.messages.Messages.Rule;
-import io.cucumber.messages.Messages.RuleChild;
-import io.cucumber.messages.Messages.Scenario;
-import io.cucumber.messages.Messages.Step;
-import io.cucumber.messages.Messages.TableCell;
-import io.cucumber.messages.Messages.TableRow;
-import io.cucumber.messages.Messages.Tag;
-
-import java.util.ArrayDeque;
-import java.util.ArrayList;
-import java.util.Deque;
-import java.util.List;
-
-import static gherkin.Parser.Builder;
-import static gherkin.Parser.RuleType;
-import static gherkin.Parser.TokenType;
-import static gherkin.StringUtils.join;
-
-public class GherkinDocumentBuilder implements Builder<GherkinDocument.Builder> {
-    private Deque<AstNode> stack;
-    private GherkinDocument.Builder gherkinDocumentBuilder;
-
-    public GherkinDocumentBuilder() {
-        reset();
-    }
-
-    @Override
-    public void reset() {
-        stack = new ArrayDeque<>();
-        stack.push(new AstNode(RuleType.None));
-        gherkinDocumentBuilder = GherkinDocument.newBuilder();
-    }
-
-    private AstNode currentNode() {
-        return stack.peek();
-    }
-
-    @Override
-    public void build(Token token) {
-        RuleType ruleType = RuleType.cast(token.matchedType);
-        if (token.matchedType == TokenType.Comment) {
-            gherkinDocumentBuilder.addComments(Comment.newBuilder()
-                    .setLocation(getLocation(token, 0))
-                    .setText(token.matchedText)
-            );
-        } else {
-            currentNode().add(ruleType, token);
-        }
-    }
-
-    @Override
-    public void startRule(RuleType ruleType) {
-        stack.push(new AstNode(ruleType));
-    }
-
-    @Override
-    public void endRule(RuleType ruleType) {
-        AstNode node = stack.pop();
-        Object transformedNode = getTransformedNode(node);
-        currentNode().add(node.ruleType, transformedNode);
-    }
-
-    private Object getTransformedNode(AstNode node) {
-        switch (node.ruleType) {
-            case Step: {
-                Step.Builder builder = Step.newBuilder();
-                Token stepLine = node.getToken(TokenType.StepLine);
-                builder
-                        .setLocation(getLocation(stepLine, 0))
-                        .setKeyword(stepLine.matchedKeyword)
-                        .setText(stepLine.matchedText);
-
-                DataTable dataTable = node.getSingle(RuleType.DataTable, null);
-                if (dataTable != null)
-                    builder.setDataTable(dataTable);
-                DocString docString = node.getSingle(RuleType.DocString, null);
-                if (docString != null)
-                    builder.setDocString(docString);
-                return builder.build();
-            }
-            case DocString: {
-                Token separatorToken = node.getTokens(TokenType.DocStringSeparator).get(0);
-                String contentType = separatorToken.matchedText.length() > 0 ? separatorToken.matchedText : null;
-                List<Token> lineTokens = node.getTokens(TokenType.Other);
-                StringBuilder content = new StringBuilder();
-                boolean newLine = false;
-                for (Token lineToken : lineTokens) {
-                    if (newLine) content.append("\n");
-                    newLine = true;
-                    content.append(lineToken.matchedText);
-                }
-                DocString.Builder builder = DocString.newBuilder();
-                if (contentType != null)
-                    builder.setContentType(contentType);
-
-                return builder
-                        .setLocation(getLocation(separatorToken, 0))
-                        .setContent(content.toString())
-                        .setDelimiter(separatorToken.matchedKeyword)
-                        .build();
-            }
-            case DataTable: {
-                List<TableRow> rows = getTableRows(node);
-                return DataTable.newBuilder()
-                        .setLocation(rows.get(0).getLocation())
-                        .addAllRows(rows)
-                        .build();
-            }
-            case Background: {
-                Token backgroundLine = node.getToken(TokenType.BackgroundLine);
-                String description = getDescription(node);
-                List<Step> steps = getSteps(node);
-                Background.Builder builder = Background.newBuilder();
-                if (description != null)
-                    builder.setDescription(description);
-
-                return builder
-                        .setLocation(getLocation(backgroundLine, 0))
-                        .setKeyword(backgroundLine.matchedKeyword)
-                        .setName(backgroundLine.matchedText)
-                        .addAllSteps(steps)
-                        .build();
-            }
-            case ScenarioDefinition: {
-                List<Tag> tags = getTags(node);
-                AstNode scenarioNode = node.getSingle(RuleType.Scenario, null);
-
-                Token scenarioLine = scenarioNode.getToken(TokenType.ScenarioLine);
-                String description = getDescription(scenarioNode);
-                List<Step> steps = getSteps(scenarioNode);
-                List<Examples> examplesList = scenarioNode.getItems(RuleType.ExamplesDefinition);
-
-                Scenario.Builder builder = Scenario.newBuilder();
-                if (description != null) builder.setDescription(description);
-
-                return builder
-                        .setLocation(getLocation(scenarioLine, 0))
-                        .setKeyword(scenarioLine.matchedKeyword)
-                        .setName(scenarioLine.matchedText)
-                        .addAllTags(tags)
-                        .addAllSteps(steps)
-                        .addAllExamples(examplesList)
-                        .build();
-            }
-            case ExamplesDefinition: {
-                Examples.Builder builder = Examples.newBuilder();
-
-                List<Tag> tags = getTags(node);
-                AstNode examplesNode = node.getSingle(RuleType.Examples, null);
-                Token examplesLine = examplesNode.getToken(TokenType.ExamplesLine);
-                String description = getDescription(examplesNode);
-                List<TableRow> rows = examplesNode.getSingle(RuleType.ExamplesTable, null);
-                TableRow tableHeader = rows != null && !rows.isEmpty() ? rows.get(0) : null;
-                List<TableRow> tableBody = rows != null && !rows.isEmpty() ? rows.subList(1, rows.size()) : null;
-
-                if (tableHeader != null)
-                    builder.setTableHeader(tableHeader);
-                if (tableBody != null)
-                    builder.addAllTableBody(tableBody);
-
-                builder
-                        .setLocation(getLocation(examplesLine, 0))
-                        .setKeyword(examplesLine.matchedKeyword)
-                        .setName(examplesLine.matchedText)
-                        .addAllTags(tags);
-
-                if (description != null)
-                    builder.setDescription(description);
-
-                return builder.build();
-            }
-            case ExamplesTable: {
-                return getTableRows(node);
-            }
-            case Description: {
-                List<Token> lineTokens = node.getTokens(TokenType.Other);
-                // Trim trailing empty lines
-                int end = lineTokens.size();
-                while (end > 0 && lineTokens.get(end - 1).matchedText.matches("\\s*")) {
-                    end--;
-                }
-                lineTokens = lineTokens.subList(0, end);
-
-                return join(new StringUtils.ToString<Token>() {
-                    @Override
-                    public String toString(Token t) {
-                        return t.matchedText;
-                    }
-                }, "\n", lineTokens);
-            }
-            case Feature: {
-                Feature.Builder builder = Feature.newBuilder();
-                AstNode header = node.getSingle(RuleType.FeatureHeader, new AstNode(RuleType.FeatureHeader));
-                if (header == null) return null;
-                List<Tag> tags = getTags(header);
-                Token featureLine = header.getToken(TokenType.FeatureLine);
-                if (featureLine == null) return null;
-
-                Background background = node.getSingle(RuleType.Background, null);
-                if (background != null) {
-                    builder.addChildren(FeatureChild.newBuilder().setBackground(background).build());
-                }
-                for (Scenario scenario : node.<Scenario>getItems(RuleType.ScenarioDefinition)) {
-                    builder.addChildren(FeatureChild.newBuilder().setScenario(scenario).build());
-                }
-                for (Rule rule : node.<Rule>getItems(RuleType.Rule)) {
-                    builder.addChildren(FeatureChild.newBuilder().setRule(rule).build());
-                }
-                String description = getDescription(header);
-                if (description != null) builder.setDescription(description);
-                if (featureLine.matchedGherkinDialect == null) return null;
-                String language = featureLine.matchedGherkinDialect.getLanguage();
-
-                return builder
-                        .addAllTags(tags)
-                        .setLocation(getLocation(featureLine, 0))
-                        .setLanguage(language)
-                        .setKeyword(featureLine.matchedKeyword)
-                        .setName(featureLine.matchedText)
-                        .build();
-            }
-            case Rule: {
-                Rule.Builder builder = Rule.newBuilder();
-                AstNode header = node.getSingle(RuleType.RuleHeader, new AstNode(RuleType.RuleHeader));
-                if (header == null) return null;
-                Token ruleLine = header.getToken(TokenType.RuleLine);
-                if (ruleLine == null) return null;
-
-                String description = getDescription(header);
-                if (description != null)
-                    builder.setDescription(description);
-                Background background = node.getSingle(RuleType.Background, null);
-                if (background != null) {
-                    builder.addChildren(RuleChild.newBuilder().setBackground(background).build());
-                }
-                List<Scenario> scenarios = node.getItems(RuleType.ScenarioDefinition);
-                for (Scenario scenario : scenarios) {
-                    builder.addChildren(RuleChild.newBuilder().setScenario(scenario).build());
-                }
-
-                return builder
-                        .setLocation(getLocation(ruleLine, 0))
-                        .setKeyword(ruleLine.matchedKeyword)
-                        .setName(ruleLine.matchedText)
-                        .build();
-
-            }
-            case GherkinDocument: {
-                Feature feature = node.getSingle(RuleType.Feature, null);
-
-                if (feature != null)
-                    gherkinDocumentBuilder.setFeature(feature);
-
-                return gherkinDocumentBuilder;
-            }
-
-        }
-        return node;
-    }
-
-    private List<TableRow> getTableRows(AstNode node) {
-        List<TableRow> rows = new ArrayList<>();
-
-        for (Token token : node.getTokens(TokenType.TableRow)) {
-            rows.add(TableRow.newBuilder().setLocation(getLocation(token, 0)).addAllCells(getCells(token)).build());
-        }
-        ensureCellCount(rows);
-        return rows;
-    }
-
-    private void ensureCellCount(List<TableRow> rows) {
-        if (rows.isEmpty()) return;
-
-        int cellCount = rows.get(0).getCellsCount();
-        for (TableRow row : rows) {
-            if (row.getCellsCount() != cellCount) {
-                gherkin.Location location = new gherkin.Location(row.getLocation().getLine(), row.getLocation().getColumn());
-                throw new ParserException.AstBuilderException("inconsistent cell count within the table", location);
-            }
-        }
-    }
-
-    private List<TableCell> getCells(Token token) {
-        List<TableCell> cells = new ArrayList<>();
-        for (GherkinLineSpan cellItem : token.mathcedItems) {
-            cells.add(TableCell.newBuilder().setLocation(getLocation(token, cellItem.column)).setValue(cellItem.text).build());
-        }
-        return cells;
-    }
-
-    private List<Step> getSteps(AstNode node) {
-        return node.getItems(RuleType.Step);
-    }
-
-    private Location getLocation(Token token, int column) {
-        column = column == 0 ? token.location.getColumn() : column;
-        return Location.newBuilder()
-                .setLine(token.location.getLine())
-                .setColumn(column)
-                .build();
-    }
-
-    private String getDescription(AstNode node) {
-        return node.getSingle(RuleType.Description, null);
-    }
-
-    private List<Tag> getTags(AstNode node) {
-        AstNode tagsNode = node.getSingle(RuleType.Tags, new AstNode(RuleType.None));
-        if (tagsNode == null)
-            return new ArrayList<>();
-
-        List<Token> tokens = tagsNode.getTokens(TokenType.TagLine);
-        List<Tag> tags = new ArrayList<>();
-        for (Token token : tokens) {
-            for (GherkinLineSpan tagItem : token.mathcedItems) {
-                tags.add(Tag.newBuilder().setLocation(getLocation(token, tagItem.column)).setName(tagItem.text).build());
-            }
-        }
-        return tags;
-    }
-
-    @Override
-    public GherkinDocument.Builder getResult() {
-        return currentNode().getSingle(RuleType.GherkinDocument, null);
-    }
-}
diff --git a/gherkin/java/src/main/java/gherkin/GherkinLanguageConstants.java b/gherkin/java/src/main/java/gherkin/GherkinLanguageConstants.java
deleted file mode 100644
index 7b6c649d61..0000000000
--- a/gherkin/java/src/main/java/gherkin/GherkinLanguageConstants.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package gherkin;
-
-public interface GherkinLanguageConstants {
-    String TAG_PREFIX = "@";
-    String COMMENT_PREFIX = "#";
-    String TITLE_KEYWORD_SEPARATOR = ":";
-    String TABLE_CELL_SEPARATOR = "|";
-    String DOCSTRING_SEPARATOR = "\"\"\"";
-    String DOCSTRING_ALTERNATIVE_SEPARATOR = "```";
-}
diff --git a/gherkin/java/src/main/java/gherkin/GherkinLine.java b/gherkin/java/src/main/java/gherkin/GherkinLine.java
deleted file mode 100644
index 2c7ba6763a..0000000000
--- a/gherkin/java/src/main/java/gherkin/GherkinLine.java
+++ /dev/null
@@ -1,119 +0,0 @@
-package gherkin;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Scanner;
-
-import static gherkin.StringUtils.ltrim;
-import static gherkin.SymbolCounter.countSymbols;
-
-public class GherkinLine implements IGherkinLine {
-    private final String lineText;
-    private final String trimmedLineText;
-
-    public GherkinLine(String lineText) {
-        this.lineText = lineText;
-        this.trimmedLineText = ltrim(lineText);
-    }
-
-    @Override
-    public Integer indent() {
-        return countSymbols(lineText) - countSymbols(trimmedLineText);
-    }
-
-    @Override
-    public void detach() {
-
-    }
-
-    @Override
-    public String getLineText(int indentToRemove) {
-        if (indentToRemove < 0 || indentToRemove > indent())
-            return trimmedLineText;
-        return lineText.substring(indentToRemove);
-    }
-
-    @Override
-    public boolean isEmpty() {
-        return trimmedLineText.length() == 0;
-    }
-
-    @Override
-    public boolean startsWith(String prefix) {
-        return trimmedLineText.startsWith(prefix);
-    }
-
-    @Override
-    public String getRestTrimmed(int length) {
-        return trimmedLineText.substring(length).trim();
-    }
-
-    @Override
-    public List<GherkinLineSpan> getTags() {
-        return getSpans("\\s+");
-    }
-
-    @Override
-    public boolean startsWithTitleKeyword(String text) {
-        int textLength = text.length();
-        return trimmedLineText.length() > textLength &&
-                trimmedLineText.startsWith(text) &&
-                trimmedLineText.substring(textLength, textLength + GherkinLanguageConstants.TITLE_KEYWORD_SEPARATOR.length())
-                        .equals(GherkinLanguageConstants.TITLE_KEYWORD_SEPARATOR);
-        // TODO aslak: extract startsWithFrom method for clarity
-    }
-
-    @Override
-    public List<GherkinLineSpan> getTableCells() {
-        List<GherkinLineSpan> lineSpans = new ArrayList<GherkinLineSpan>();
-        StringBuilder cell = new StringBuilder();
-        boolean beforeFirst = true;
-        int startCol = 0;
-        for (int col = 0; col < trimmedLineText.length(); col++) {
-            char c = trimmedLineText.charAt(col);
-            if (c == '|') {
-                if (beforeFirst) {
-                    // Skip the first empty span
-                    beforeFirst = false;
-                } else {
-                    int contentStart = 0;
-                    while (contentStart < cell.length() && Character.isWhitespace(cell.charAt(contentStart))) {
-                        contentStart++;
-                    }
-                    if (contentStart == cell.length()) {
-                        contentStart = 0;
-                    }
-                    lineSpans.add(new GherkinLineSpan(indent() + startCol + contentStart + 2, cell.toString().trim()));
-                    startCol = col;
-                }
-                cell = new StringBuilder();
-            } else if (c == '\\') {
-                col++;
-                c = trimmedLineText.charAt(col);
-                if (c == 'n') {
-                    cell.append('\n');
-                } else {
-                    if (c != '|' && c != '\\') {
-                        cell.append('\\');
-                    }
-                    cell.append(c);
-                }
-            } else {
-                cell.append(c);
-            }
-        }
-
-        return lineSpans;
-    }
-
-    private List<GherkinLineSpan> getSpans(String delimiter) {
-        List<GherkinLineSpan> lineSpans = new ArrayList<GherkinLineSpan>();
-        Scanner scanner = new Scanner(trimmedLineText).useDelimiter(delimiter);
-        while (scanner.hasNext()) {
-            String cell = scanner.next();
-            int column = scanner.match().start() + indent() + 1;
-            lineSpans.add(new GherkinLineSpan(column, cell));
-        }
-        return lineSpans;
-    }
-}
diff --git a/gherkin/java/src/main/java/gherkin/GherkinLineSpan.java b/gherkin/java/src/main/java/gherkin/GherkinLineSpan.java
deleted file mode 100644
index bc1297eeef..0000000000
--- a/gherkin/java/src/main/java/gherkin/GherkinLineSpan.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package gherkin;
-
-public class GherkinLineSpan {
-    // One-based line position
-    public final int column;
-
-    // text part of the line
-    public final String text;
-
-    public GherkinLineSpan(int column, String text) {
-        this.column = column;
-        this.text = text;
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
-        GherkinLineSpan that = (GherkinLineSpan) o;
-        return column == that.column && text.equals(that.text);
-
-    }
-
-    @Override
-    public int hashCode() {
-        int result = column;
-        result = 31 * result + text.hashCode();
-        return result;
-    }
-}
diff --git a/gherkin/java/src/main/java/gherkin/IGherkinDialectProvider.java b/gherkin/java/src/main/java/gherkin/IGherkinDialectProvider.java
deleted file mode 100644
index 1c222ab9a8..0000000000
--- a/gherkin/java/src/main/java/gherkin/IGherkinDialectProvider.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package gherkin;
-
-import java.util.List;
-
-public interface IGherkinDialectProvider {
-    GherkinDialect getDefaultDialect();
-
-    GherkinDialect getDialect(String language, Location location);
-
-    List<String> getLanguages();
-}
diff --git a/gherkin/java/src/main/java/gherkin/IGherkinLine.java b/gherkin/java/src/main/java/gherkin/IGherkinLine.java
deleted file mode 100644
index 3327dd4597..0000000000
--- a/gherkin/java/src/main/java/gherkin/IGherkinLine.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package gherkin;
-
-import java.util.List;
-
-public interface IGherkinLine {
-    Integer indent();
-
-    void detach();
-
-    String getLineText(int indentToRemove);
-
-    boolean isEmpty();
-
-    boolean startsWith(String prefix);
-
-    String getRestTrimmed(int length);
-
-    List<GherkinLineSpan> getTags();
-
-    boolean startsWithTitleKeyword(String keyword);
-
-    List<GherkinLineSpan> getTableCells();
-}
diff --git a/gherkin/java/src/main/java/gherkin/Location.java b/gherkin/java/src/main/java/gherkin/Location.java
deleted file mode 100644
index 9dbe50ea2d..0000000000
--- a/gherkin/java/src/main/java/gherkin/Location.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package gherkin;
-
-public class Location {
-    private final int line;
-    private final int column;
-
-    public Location(int line, int column) {
-        this.line = line;
-        this.column = column;
-    }
-
-    public int getLine() {
-        return line;
-    }
-
-    public int getColumn() {
-        return column;
-    }
-}
diff --git a/gherkin/java/src/main/java/gherkin/Parser.java b/gherkin/java/src/main/java/gherkin/Parser.java
deleted file mode 100644
index 4fbe902be2..0000000000
--- a/gherkin/java/src/main/java/gherkin/Parser.java
+++ /dev/null
@@ -1,4288 +0,0 @@
-//      This code was generated by Berp (http://https://github.com/gasparnagy/berp/).
-//
-//      Changes to this file may cause incorrect behavior and will be lost if
-//      the code is regenerated.
-
-
-package gherkin;
-
-import java.io.Reader;
-import java.io.StringReader;
-import java.util.ArrayDeque;
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Queue;
-
-import static java.util.Arrays.asList;
-
-public class Parser<T> {
-    public enum TokenType {
-        None,
-        EOF,
-        Empty,
-        Comment,
-        TagLine,
-        FeatureLine,
-        RuleLine,
-        BackgroundLine,
-        ScenarioLine,
-        ExamplesLine,
-        StepLine,
-        DocStringSeparator,
-        TableRow,
-        Language,
-        Other,
-        ;
-    }
-
-    public enum RuleType {
-        None,
-        _EOF, // #EOF
-        _Empty, // #Empty
-        _Comment, // #Comment
-        _TagLine, // #TagLine
-        _FeatureLine, // #FeatureLine
-        _RuleLine, // #RuleLine
-        _BackgroundLine, // #BackgroundLine
-        _ScenarioLine, // #ScenarioLine
-        _ExamplesLine, // #ExamplesLine
-        _StepLine, // #StepLine
-        _DocStringSeparator, // #DocStringSeparator
-        _TableRow, // #TableRow
-        _Language, // #Language
-        _Other, // #Other
-        GherkinDocument, // GherkinDocument! := Feature?
-        Feature, // Feature! := FeatureHeader Background? ScenarioDefinition* Rule*
-        FeatureHeader, // FeatureHeader! := #Language? Tags? #FeatureLine DescriptionHelper
-        Rule, // Rule! := RuleHeader Background? ScenarioDefinition*
-        RuleHeader, // RuleHeader! := #RuleLine DescriptionHelper
-        Background, // Background! := #BackgroundLine DescriptionHelper Step*
-        ScenarioDefinition, // ScenarioDefinition! := Tags? Scenario
-        Scenario, // Scenario! := #ScenarioLine DescriptionHelper Step* ExamplesDefinition*
-        ExamplesDefinition, // ExamplesDefinition! [#Empty|#Comment|#TagLine-&gt;#ExamplesLine] := Tags? Examples
-        Examples, // Examples! := #ExamplesLine DescriptionHelper ExamplesTable?
-        ExamplesTable, // ExamplesTable! := #TableRow #TableRow*
-        Step, // Step! := #StepLine StepArg?
-        StepArg, // StepArg := (DataTable | DocString)
-        DataTable, // DataTable! := #TableRow+
-        DocString, // DocString! := #DocStringSeparator #Other* #DocStringSeparator
-        Tags, // Tags! := #TagLine+
-        DescriptionHelper, // DescriptionHelper := #Empty* Description? #Comment*
-        Description, // Description! := #Other+
-        ;
-
-        public static RuleType cast(TokenType tokenType) {
-            return RuleType.values()[tokenType.ordinal()];
-        }
-    }
-
-    private final Builder<T> builder;
-
-    public boolean stopAtFirstError;
-
-    class ParserContext {
-        public final ITokenScanner tokenScanner;
-        public final ITokenMatcher tokenMatcher;
-        public final Queue<Token> tokenQueue;
-        public final List<ParserException> errors;
-
-        ParserContext(ITokenScanner tokenScanner, ITokenMatcher tokenMatcher, Queue<Token> tokenQueue, List<ParserException> errors) {
-            this.tokenScanner = tokenScanner;
-            this.tokenMatcher = tokenMatcher;
-            this.tokenQueue = tokenQueue;
-            this.errors = errors;
-        }
-    }
-
-    public Parser(Builder<T> builder) {
-        this.builder = builder;
-    }
-
-    public T parse(String source) {
-        return parse(new StringReader(source));
-    }
-
-    public T parse(Reader source) {
-        return parse(new TokenScanner(source));
-    }
-
-    public T parse(ITokenScanner tokenScanner) {
-        return parse(tokenScanner, new TokenMatcher());
-    }
-
-    public T parse(String source, ITokenMatcher tokenMatcher) {
-        return parse(new StringReader(source), tokenMatcher);
-    }
-
-    public T parse(Reader source, ITokenMatcher tokenMatcher) {
-        return parse(new TokenScanner(source), tokenMatcher);
-    }
-
-    public T parse(ITokenScanner tokenScanner, ITokenMatcher tokenMatcher) {
-        builder.reset();
-        tokenMatcher.reset();
-
-        ParserContext context = new ParserContext(
-                tokenScanner,
-                tokenMatcher,
-                new LinkedList<Token>(),
-                new ArrayList<ParserException>()
-        );
-
-        startRule(context, RuleType.GherkinDocument);
-        int state = 0;
-        Token token;
-        do {
-            token = readToken(context);
-            state = matchToken(state, token, context);
-        } while (!token.isEOF());
-
-        endRule(context, RuleType.GherkinDocument);
-
-        if (context.errors.size() > 0) {
-            throw new ParserException.CompositeParserException(context.errors);
-        }
-
-        return builder.getResult();
-    }
-
-    private void addError(ParserContext context, ParserException error) {
-        context.errors.add(error);
-        if (context.errors.size() > 10)
-            throw new ParserException.CompositeParserException(context.errors);
-    }
-
-    private <V> V handleAstError(ParserContext context, final Func<V> action) {
-        return handleExternalError(context, action, null);
-    }
-
-    private <V> V handleExternalError(ParserContext context, Func<V> action, V defaultValue) {
-        if (stopAtFirstError) {
-            return action.call();
-        }
-
-        try {
-            return action.call();
-        } catch (ParserException.CompositeParserException compositeParserException) {
-            for (ParserException error : compositeParserException.errors) {
-                addError(context, error);
-            }
-        } catch (ParserException error) {
-            addError(context, error);
-        }
-        return defaultValue;
-    }
-
-    private void build(final ParserContext context, final Token token) {
-        handleAstError(context, new Func<Void>() {
-            public Void call() {
-                builder.build(token);
-                return null;
-            }
-        });
-    }
-
-    private void startRule(final ParserContext context, final RuleType ruleType) {
-        handleAstError(context, new Func<Void>() {
-            public Void call() {
-                builder.startRule(ruleType);
-                return null;
-            }
-        });
-    }
-
-    private void endRule(final ParserContext context, final RuleType ruleType) {
-        handleAstError(context, new Func<Void>() {
-            public Void call() {
-                builder.endRule(ruleType);
-                return null;
-            }
-        });
-    }
-
-    private Token readToken(ParserContext context) {
-        return context.tokenQueue.size() > 0 ? context.tokenQueue.remove() : context.tokenScanner.read();
-    }
-
-
-    private boolean match_EOF(final ParserContext context, final Token token) {
-        return handleExternalError(context, new Func<Boolean>() {
-            public Boolean call() {
-                return context.tokenMatcher.match_EOF(token);
-            }
-        }, false);
-    }
-
-    private boolean match_Empty(final ParserContext context, final Token token) {
-        if (token.isEOF()) return false;
-        return handleExternalError(context, new Func<Boolean>() {
-            public Boolean call() {
-                return context.tokenMatcher.match_Empty(token);
-            }
-        }, false);
-    }
-
-    private boolean match_Comment(final ParserContext context, final Token token) {
-        if (token.isEOF()) return false;
-        return handleExternalError(context, new Func<Boolean>() {
-            public Boolean call() {
-                return context.tokenMatcher.match_Comment(token);
-            }
-        }, false);
-    }
-
-    private boolean match_TagLine(final ParserContext context, final Token token) {
-        if (token.isEOF()) return false;
-        return handleExternalError(context, new Func<Boolean>() {
-            public Boolean call() {
-                return context.tokenMatcher.match_TagLine(token);
-            }
-        }, false);
-    }
-
-    private boolean match_FeatureLine(final ParserContext context, final Token token) {
-        if (token.isEOF()) return false;
-        return handleExternalError(context, new Func<Boolean>() {
-            public Boolean call() {
-                return context.tokenMatcher.match_FeatureLine(token);
-            }
-        }, false);
-    }
-
-    private boolean match_RuleLine(final ParserContext context, final Token token) {
-        if (token.isEOF()) return false;
-        return handleExternalError(context, new Func<Boolean>() {
-            public Boolean call() {
-                return context.tokenMatcher.match_RuleLine(token);
-            }
-        }, false);
-    }
-
-    private boolean match_BackgroundLine(final ParserContext context, final Token token) {
-        if (token.isEOF()) return false;
-        return handleExternalError(context, new Func<Boolean>() {
-            public Boolean call() {
-                return context.tokenMatcher.match_BackgroundLine(token);
-            }
-        }, false);
-    }
-
-    private boolean match_ScenarioLine(final ParserContext context, final Token token) {
-        if (token.isEOF()) return false;
-        return handleExternalError(context, new Func<Boolean>() {
-            public Boolean call() {
-                return context.tokenMatcher.match_ScenarioLine(token);
-            }
-        }, false);
-    }
-
-    private boolean match_ExamplesLine(final ParserContext context, final Token token) {
-        if (token.isEOF()) return false;
-        return handleExternalError(context, new Func<Boolean>() {
-            public Boolean call() {
-                return context.tokenMatcher.match_ExamplesLine(token);
-            }
-        }, false);
-    }
-
-    private boolean match_StepLine(final ParserContext context, final Token token) {
-        if (token.isEOF()) return false;
-        return handleExternalError(context, new Func<Boolean>() {
-            public Boolean call() {
-                return context.tokenMatcher.match_StepLine(token);
-            }
-        }, false);
-    }
-
-    private boolean match_DocStringSeparator(final ParserContext context, final Token token) {
-        if (token.isEOF()) return false;
-        return handleExternalError(context, new Func<Boolean>() {
-            public Boolean call() {
-                return context.tokenMatcher.match_DocStringSeparator(token);
-            }
-        }, false);
-    }
-
-    private boolean match_TableRow(final ParserContext context, final Token token) {
-        if (token.isEOF()) return false;
-        return handleExternalError(context, new Func<Boolean>() {
-            public Boolean call() {
-                return context.tokenMatcher.match_TableRow(token);
-            }
-        }, false);
-    }
-
-    private boolean match_Language(final ParserContext context, final Token token) {
-        if (token.isEOF()) return false;
-        return handleExternalError(context, new Func<Boolean>() {
-            public Boolean call() {
-                return context.tokenMatcher.match_Language(token);
-            }
-        }, false);
-    }
-
-    private boolean match_Other(final ParserContext context, final Token token) {
-        if (token.isEOF()) return false;
-        return handleExternalError(context, new Func<Boolean>() {
-            public Boolean call() {
-                return context.tokenMatcher.match_Other(token);
-            }
-        }, false);
-    }
-
-    private int matchToken(int state, Token token, ParserContext context) {
-        int newState;
-        switch(state) {
-            case 0:
-                newState = matchTokenAt_0(token, context);
-                break;
-            case 1:
-                newState = matchTokenAt_1(token, context);
-                break;
-            case 2:
-                newState = matchTokenAt_2(token, context);
-                break;
-            case 3:
-                newState = matchTokenAt_3(token, context);
-                break;
-            case 4:
-                newState = matchTokenAt_4(token, context);
-                break;
-            case 5:
-                newState = matchTokenAt_5(token, context);
-                break;
-            case 6:
-                newState = matchTokenAt_6(token, context);
-                break;
-            case 7:
-                newState = matchTokenAt_7(token, context);
-                break;
-            case 8:
-                newState = matchTokenAt_8(token, context);
-                break;
-            case 9:
-                newState = matchTokenAt_9(token, context);
-                break;
-            case 10:
-                newState = matchTokenAt_10(token, context);
-                break;
-            case 11:
-                newState = matchTokenAt_11(token, context);
-                break;
-            case 12:
-                newState = matchTokenAt_12(token, context);
-                break;
-            case 13:
-                newState = matchTokenAt_13(token, context);
-                break;
-            case 14:
-                newState = matchTokenAt_14(token, context);
-                break;
-            case 15:
-                newState = matchTokenAt_15(token, context);
-                break;
-            case 16:
-                newState = matchTokenAt_16(token, context);
-                break;
-            case 17:
-                newState = matchTokenAt_17(token, context);
-                break;
-            case 18:
-                newState = matchTokenAt_18(token, context);
-                break;
-            case 19:
-                newState = matchTokenAt_19(token, context);
-                break;
-            case 20:
-                newState = matchTokenAt_20(token, context);
-                break;
-            case 21:
-                newState = matchTokenAt_21(token, context);
-                break;
-            case 22:
-                newState = matchTokenAt_22(token, context);
-                break;
-            case 23:
-                newState = matchTokenAt_23(token, context);
-                break;
-            case 24:
-                newState = matchTokenAt_24(token, context);
-                break;
-            case 25:
-                newState = matchTokenAt_25(token, context);
-                break;
-            case 26:
-                newState = matchTokenAt_26(token, context);
-                break;
-            case 27:
-                newState = matchTokenAt_27(token, context);
-                break;
-            case 28:
-                newState = matchTokenAt_28(token, context);
-                break;
-            case 29:
-                newState = matchTokenAt_29(token, context);
-                break;
-            case 30:
-                newState = matchTokenAt_30(token, context);
-                break;
-            case 31:
-                newState = matchTokenAt_31(token, context);
-                break;
-            case 32:
-                newState = matchTokenAt_32(token, context);
-                break;
-            case 33:
-                newState = matchTokenAt_33(token, context);
-                break;
-            case 34:
-                newState = matchTokenAt_34(token, context);
-                break;
-            case 35:
-                newState = matchTokenAt_35(token, context);
-                break;
-            case 36:
-                newState = matchTokenAt_36(token, context);
-                break;
-            case 37:
-                newState = matchTokenAt_37(token, context);
-                break;
-            case 38:
-                newState = matchTokenAt_38(token, context);
-                break;
-            case 39:
-                newState = matchTokenAt_39(token, context);
-                break;
-            case 40:
-                newState = matchTokenAt_40(token, context);
-                break;
-            case 42:
-                newState = matchTokenAt_42(token, context);
-                break;
-            case 43:
-                newState = matchTokenAt_43(token, context);
-                break;
-            case 44:
-                newState = matchTokenAt_44(token, context);
-                break;
-            case 45:
-                newState = matchTokenAt_45(token, context);
-                break;
-            case 46:
-                newState = matchTokenAt_46(token, context);
-                break;
-            case 47:
-                newState = matchTokenAt_47(token, context);
-                break;
-            case 48:
-                newState = matchTokenAt_48(token, context);
-                break;
-            case 49:
-                newState = matchTokenAt_49(token, context);
-                break;
-            default:
-                throw new IllegalStateException("Unknown state: " + state);
-        }
-        return newState;
-    }
-
-
-    // Start
-    private int matchTokenAt_0(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                build(context, token);
-            return 41;
-        }
-        if (match_Language(context, token))
-        {
-                startRule(context, RuleType.Feature);
-                startRule(context, RuleType.FeatureHeader);
-                build(context, token);
-            return 1;
-        }
-        if (match_TagLine(context, token))
-        {
-                startRule(context, RuleType.Feature);
-                startRule(context, RuleType.FeatureHeader);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 2;
-        }
-        if (match_FeatureLine(context, token))
-        {
-                startRule(context, RuleType.Feature);
-                startRule(context, RuleType.FeatureHeader);
-                build(context, token);
-            return 3;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 0;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 0;
-        }
-        
-        final String stateComment = "State: 0 - Start";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#Language", "#TagLine", "#FeatureLine", "#Comment", "#Empty");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 0;
-
-    }
-
-
-    // GherkinDocument:0>Feature:0>FeatureHeader:0>#Language:0
-    private int matchTokenAt_1(Token token, ParserContext context) {
-        if (match_TagLine(context, token))
-        {
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 2;
-        }
-        if (match_FeatureLine(context, token))
-        {
-                build(context, token);
-            return 3;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 1;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 1;
-        }
-        
-        final String stateComment = "State: 1 - GherkinDocument:0>Feature:0>FeatureHeader:0>#Language:0";
-        token.detach();
-        List<String> expectedTokens = asList("#TagLine", "#FeatureLine", "#Comment", "#Empty");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 1;
-
-    }
-
-
-    // GherkinDocument:0>Feature:0>FeatureHeader:1>Tags:0>#TagLine:0
-    private int matchTokenAt_2(Token token, ParserContext context) {
-        if (match_TagLine(context, token))
-        {
-                build(context, token);
-            return 2;
-        }
-        if (match_FeatureLine(context, token))
-        {
-                endRule(context, RuleType.Tags);
-                build(context, token);
-            return 3;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 2;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 2;
-        }
-        
-        final String stateComment = "State: 2 - GherkinDocument:0>Feature:0>FeatureHeader:1>Tags:0>#TagLine:0";
-        token.detach();
-        List<String> expectedTokens = asList("#TagLine", "#FeatureLine", "#Comment", "#Empty");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 2;
-
-    }
-
-
-    // GherkinDocument:0>Feature:0>FeatureHeader:2>#FeatureLine:0
-    private int matchTokenAt_3(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.FeatureHeader);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 3;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 5;
-        }
-        if (match_BackgroundLine(context, token))
-        {
-                endRule(context, RuleType.FeatureHeader);
-                startRule(context, RuleType.Background);
-                build(context, token);
-            return 6;
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.FeatureHeader);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 11;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.FeatureHeader);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 12;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.FeatureHeader);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Other(context, token))
-        {
-                startRule(context, RuleType.Description);
-                build(context, token);
-            return 4;
-        }
-        
-        final String stateComment = "State: 3 - GherkinDocument:0>Feature:0>FeatureHeader:2>#FeatureLine:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#Empty", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 3;
-
-    }
-
-
-    // GherkinDocument:0>Feature:0>FeatureHeader:3>DescriptionHelper:1>Description:0>#Other:0
-    private int matchTokenAt_4(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.FeatureHeader);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_Comment(context, token))
-        {
-                endRule(context, RuleType.Description);
-                build(context, token);
-            return 5;
-        }
-        if (match_BackgroundLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.FeatureHeader);
-                startRule(context, RuleType.Background);
-                build(context, token);
-            return 6;
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.FeatureHeader);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 11;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.FeatureHeader);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 12;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.FeatureHeader);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Other(context, token))
-        {
-                build(context, token);
-            return 4;
-        }
-        
-        final String stateComment = "State: 4 - GherkinDocument:0>Feature:0>FeatureHeader:3>DescriptionHelper:1>Description:0>#Other:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 4;
-
-    }
-
-
-    // GherkinDocument:0>Feature:0>FeatureHeader:3>DescriptionHelper:2>#Comment:0
-    private int matchTokenAt_5(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.FeatureHeader);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 5;
-        }
-        if (match_BackgroundLine(context, token))
-        {
-                endRule(context, RuleType.FeatureHeader);
-                startRule(context, RuleType.Background);
-                build(context, token);
-            return 6;
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.FeatureHeader);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 11;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.FeatureHeader);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 12;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.FeatureHeader);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 5;
-        }
-        
-        final String stateComment = "State: 5 - GherkinDocument:0>Feature:0>FeatureHeader:3>DescriptionHelper:2>#Comment:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Empty");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 5;
-
-    }
-
-
-    // GherkinDocument:0>Feature:1>Background:0>#BackgroundLine:0
-    private int matchTokenAt_6(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.Background);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 6;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 8;
-        }
-        if (match_StepLine(context, token))
-        {
-                startRule(context, RuleType.Step);
-                build(context, token);
-            return 9;
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.Background);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 11;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.Background);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 12;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.Background);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Other(context, token))
-        {
-                startRule(context, RuleType.Description);
-                build(context, token);
-            return 7;
-        }
-        
-        final String stateComment = "State: 6 - GherkinDocument:0>Feature:1>Background:0>#BackgroundLine:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 6;
-
-    }
-
-
-    // GherkinDocument:0>Feature:1>Background:1>DescriptionHelper:1>Description:0>#Other:0
-    private int matchTokenAt_7(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.Background);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_Comment(context, token))
-        {
-                endRule(context, RuleType.Description);
-                build(context, token);
-            return 8;
-        }
-        if (match_StepLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                startRule(context, RuleType.Step);
-                build(context, token);
-            return 9;
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.Background);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 11;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.Background);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 12;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.Background);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Other(context, token))
-        {
-                build(context, token);
-            return 7;
-        }
-        
-        final String stateComment = "State: 7 - GherkinDocument:0>Feature:1>Background:1>DescriptionHelper:1>Description:0>#Other:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 7;
-
-    }
-
-
-    // GherkinDocument:0>Feature:1>Background:1>DescriptionHelper:2>#Comment:0
-    private int matchTokenAt_8(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.Background);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 8;
-        }
-        if (match_StepLine(context, token))
-        {
-                startRule(context, RuleType.Step);
-                build(context, token);
-            return 9;
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.Background);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 11;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.Background);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 12;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.Background);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 8;
-        }
-        
-        final String stateComment = "State: 8 - GherkinDocument:0>Feature:1>Background:1>DescriptionHelper:2>#Comment:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Empty");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 8;
-
-    }
-
-
-    // GherkinDocument:0>Feature:1>Background:2>Step:0>#StepLine:0
-    private int matchTokenAt_9(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Background);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_TableRow(context, token))
-        {
-                startRule(context, RuleType.DataTable);
-                build(context, token);
-            return 10;
-        }
-        if (match_DocStringSeparator(context, token))
-        {
-                startRule(context, RuleType.DocString);
-                build(context, token);
-            return 48;
-        }
-        if (match_StepLine(context, token))
-        {
-                endRule(context, RuleType.Step);
-                startRule(context, RuleType.Step);
-                build(context, token);
-            return 9;
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Background);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 11;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Background);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 12;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Background);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 9;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 9;
-        }
-        
-        final String stateComment = "State: 9 - GherkinDocument:0>Feature:1>Background:2>Step:0>#StepLine:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 9;
-
-    }
-
-
-    // GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0
-    private int matchTokenAt_10(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.DataTable);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Background);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_TableRow(context, token))
-        {
-                build(context, token);
-            return 10;
-        }
-        if (match_StepLine(context, token))
-        {
-                endRule(context, RuleType.DataTable);
-                endRule(context, RuleType.Step);
-                startRule(context, RuleType.Step);
-                build(context, token);
-            return 9;
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.DataTable);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Background);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 11;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.DataTable);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Background);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 12;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.DataTable);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Background);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 10;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 10;
-        }
-        
-        final String stateComment = "State: 10 - GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#TableRow", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 10;
-
-    }
-
-
-    // GherkinDocument:0>Feature:2>ScenarioDefinition:0>Tags:0>#TagLine:0
-    private int matchTokenAt_11(Token token, ParserContext context) {
-        if (match_TagLine(context, token))
-        {
-                build(context, token);
-            return 11;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.Tags);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 12;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 11;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 11;
-        }
-        
-        final String stateComment = "State: 11 - GherkinDocument:0>Feature:2>ScenarioDefinition:0>Tags:0>#TagLine:0";
-        token.detach();
-        List<String> expectedTokens = asList("#TagLine", "#ScenarioLine", "#Comment", "#Empty");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 11;
-
-    }
-
-
-    // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:0>#ScenarioLine:0
-    private int matchTokenAt_12(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 12;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 14;
-        }
-        if (match_StepLine(context, token))
-        {
-                startRule(context, RuleType.Step);
-                build(context, token);
-            return 15;
-        }
-        if (match_TagLine(context, token))
-        {
-            if (lookahead_0(context, token))
-            {
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 17;
-            }
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 11;
-        }
-        if (match_ExamplesLine(context, token))
-        {
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Examples);
-                build(context, token);
-            return 18;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 12;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Other(context, token))
-        {
-                startRule(context, RuleType.Description);
-                build(context, token);
-            return 13;
-        }
-        
-        final String stateComment = "State: 12 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:0>#ScenarioLine:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 12;
-
-    }
-
-
-    // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:1>Description:0>#Other:0
-    private int matchTokenAt_13(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_Comment(context, token))
-        {
-                endRule(context, RuleType.Description);
-                build(context, token);
-            return 14;
-        }
-        if (match_StepLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                startRule(context, RuleType.Step);
-                build(context, token);
-            return 15;
-        }
-        if (match_TagLine(context, token))
-        {
-            if (lookahead_0(context, token))
-            {
-                endRule(context, RuleType.Description);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 17;
-            }
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 11;
-        }
-        if (match_ExamplesLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Examples);
-                build(context, token);
-            return 18;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 12;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Other(context, token))
-        {
-                build(context, token);
-            return 13;
-        }
-        
-        final String stateComment = "State: 13 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:1>Description:0>#Other:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 13;
-
-    }
-
-
-    // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:2>#Comment:0
-    private int matchTokenAt_14(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 14;
-        }
-        if (match_StepLine(context, token))
-        {
-                startRule(context, RuleType.Step);
-                build(context, token);
-            return 15;
-        }
-        if (match_TagLine(context, token))
-        {
-            if (lookahead_0(context, token))
-            {
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 17;
-            }
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 11;
-        }
-        if (match_ExamplesLine(context, token))
-        {
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Examples);
-                build(context, token);
-            return 18;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 12;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 14;
-        }
-        
-        final String stateComment = "State: 14 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:2>#Comment:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Empty");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 14;
-
-    }
-
-
-    // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:0>#StepLine:0
-    private int matchTokenAt_15(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_TableRow(context, token))
-        {
-                startRule(context, RuleType.DataTable);
-                build(context, token);
-            return 16;
-        }
-        if (match_DocStringSeparator(context, token))
-        {
-                startRule(context, RuleType.DocString);
-                build(context, token);
-            return 46;
-        }
-        if (match_StepLine(context, token))
-        {
-                endRule(context, RuleType.Step);
-                startRule(context, RuleType.Step);
-                build(context, token);
-            return 15;
-        }
-        if (match_TagLine(context, token))
-        {
-            if (lookahead_0(context, token))
-            {
-                endRule(context, RuleType.Step);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 17;
-            }
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 11;
-        }
-        if (match_ExamplesLine(context, token))
-        {
-                endRule(context, RuleType.Step);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Examples);
-                build(context, token);
-            return 18;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 12;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 15;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 15;
-        }
-        
-        final String stateComment = "State: 15 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:0>#StepLine:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 15;
-
-    }
-
-
-    // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0
-    private int matchTokenAt_16(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.DataTable);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_TableRow(context, token))
-        {
-                build(context, token);
-            return 16;
-        }
-        if (match_StepLine(context, token))
-        {
-                endRule(context, RuleType.DataTable);
-                endRule(context, RuleType.Step);
-                startRule(context, RuleType.Step);
-                build(context, token);
-            return 15;
-        }
-        if (match_TagLine(context, token))
-        {
-            if (lookahead_0(context, token))
-            {
-                endRule(context, RuleType.DataTable);
-                endRule(context, RuleType.Step);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 17;
-            }
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.DataTable);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 11;
-        }
-        if (match_ExamplesLine(context, token))
-        {
-                endRule(context, RuleType.DataTable);
-                endRule(context, RuleType.Step);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Examples);
-                build(context, token);
-            return 18;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.DataTable);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 12;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.DataTable);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 16;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 16;
-        }
-        
-        final String stateComment = "State: 16 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#TableRow", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 16;
-
-    }
-
-
-    // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:0>Tags:0>#TagLine:0
-    private int matchTokenAt_17(Token token, ParserContext context) {
-        if (match_TagLine(context, token))
-        {
-                build(context, token);
-            return 17;
-        }
-        if (match_ExamplesLine(context, token))
-        {
-                endRule(context, RuleType.Tags);
-                startRule(context, RuleType.Examples);
-                build(context, token);
-            return 18;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 17;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 17;
-        }
-        
-        final String stateComment = "State: 17 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:0>Tags:0>#TagLine:0";
-        token.detach();
-        List<String> expectedTokens = asList("#TagLine", "#ExamplesLine", "#Comment", "#Empty");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 17;
-
-    }
-
-
-    // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:0>#ExamplesLine:0
-    private int matchTokenAt_18(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 18;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 20;
-        }
-        if (match_TableRow(context, token))
-        {
-                startRule(context, RuleType.ExamplesTable);
-                build(context, token);
-            return 21;
-        }
-        if (match_TagLine(context, token))
-        {
-            if (lookahead_0(context, token))
-            {
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 17;
-            }
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 11;
-        }
-        if (match_ExamplesLine(context, token))
-        {
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Examples);
-                build(context, token);
-            return 18;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 12;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Other(context, token))
-        {
-                startRule(context, RuleType.Description);
-                build(context, token);
-            return 19;
-        }
-        
-        final String stateComment = "State: 18 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:0>#ExamplesLine:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#Empty", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 18;
-
-    }
-
-
-    // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:1>Description:0>#Other:0
-    private int matchTokenAt_19(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_Comment(context, token))
-        {
-                endRule(context, RuleType.Description);
-                build(context, token);
-            return 20;
-        }
-        if (match_TableRow(context, token))
-        {
-                endRule(context, RuleType.Description);
-                startRule(context, RuleType.ExamplesTable);
-                build(context, token);
-            return 21;
-        }
-        if (match_TagLine(context, token))
-        {
-            if (lookahead_0(context, token))
-            {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 17;
-            }
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 11;
-        }
-        if (match_ExamplesLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Examples);
-                build(context, token);
-            return 18;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 12;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Other(context, token))
-        {
-                build(context, token);
-            return 19;
-        }
-        
-        final String stateComment = "State: 19 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:1>Description:0>#Other:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 19;
-
-    }
-
-
-    // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:2>#Comment:0
-    private int matchTokenAt_20(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 20;
-        }
-        if (match_TableRow(context, token))
-        {
-                startRule(context, RuleType.ExamplesTable);
-                build(context, token);
-            return 21;
-        }
-        if (match_TagLine(context, token))
-        {
-            if (lookahead_0(context, token))
-            {
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 17;
-            }
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 11;
-        }
-        if (match_ExamplesLine(context, token))
-        {
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Examples);
-                build(context, token);
-            return 18;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 12;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 20;
-        }
-        
-        final String stateComment = "State: 20 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:2>#Comment:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Empty");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 20;
-
-    }
-
-
-    // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:2>ExamplesTable:0>#TableRow:0
-    private int matchTokenAt_21(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.ExamplesTable);
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_TableRow(context, token))
-        {
-                build(context, token);
-            return 21;
-        }
-        if (match_TagLine(context, token))
-        {
-            if (lookahead_0(context, token))
-            {
-                endRule(context, RuleType.ExamplesTable);
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 17;
-            }
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.ExamplesTable);
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 11;
-        }
-        if (match_ExamplesLine(context, token))
-        {
-                endRule(context, RuleType.ExamplesTable);
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Examples);
-                build(context, token);
-            return 18;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.ExamplesTable);
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 12;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.ExamplesTable);
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 21;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 21;
-        }
-        
-        final String stateComment = "State: 21 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:2>ExamplesTable:0>#TableRow:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 21;
-
-    }
-
-
-    // GherkinDocument:0>Feature:3>Rule:0>RuleHeader:0>#RuleLine:0
-    private int matchTokenAt_22(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.RuleHeader);
-                endRule(context, RuleType.Rule);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 22;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 24;
-        }
-        if (match_BackgroundLine(context, token))
-        {
-                endRule(context, RuleType.RuleHeader);
-                startRule(context, RuleType.Background);
-                build(context, token);
-            return 25;
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.RuleHeader);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 30;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.RuleHeader);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 31;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.RuleHeader);
-                endRule(context, RuleType.Rule);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Other(context, token))
-        {
-                startRule(context, RuleType.Description);
-                build(context, token);
-            return 23;
-        }
-        
-        final String stateComment = "State: 22 - GherkinDocument:0>Feature:3>Rule:0>RuleHeader:0>#RuleLine:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#Empty", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 22;
-
-    }
-
-
-    // GherkinDocument:0>Feature:3>Rule:0>RuleHeader:1>DescriptionHelper:1>Description:0>#Other:0
-    private int matchTokenAt_23(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.RuleHeader);
-                endRule(context, RuleType.Rule);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_Comment(context, token))
-        {
-                endRule(context, RuleType.Description);
-                build(context, token);
-            return 24;
-        }
-        if (match_BackgroundLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.RuleHeader);
-                startRule(context, RuleType.Background);
-                build(context, token);
-            return 25;
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.RuleHeader);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 30;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.RuleHeader);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 31;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.RuleHeader);
-                endRule(context, RuleType.Rule);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Other(context, token))
-        {
-                build(context, token);
-            return 23;
-        }
-        
-        final String stateComment = "State: 23 - GherkinDocument:0>Feature:3>Rule:0>RuleHeader:1>DescriptionHelper:1>Description:0>#Other:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 23;
-
-    }
-
-
-    // GherkinDocument:0>Feature:3>Rule:0>RuleHeader:1>DescriptionHelper:2>#Comment:0
-    private int matchTokenAt_24(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.RuleHeader);
-                endRule(context, RuleType.Rule);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 24;
-        }
-        if (match_BackgroundLine(context, token))
-        {
-                endRule(context, RuleType.RuleHeader);
-                startRule(context, RuleType.Background);
-                build(context, token);
-            return 25;
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.RuleHeader);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 30;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.RuleHeader);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 31;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.RuleHeader);
-                endRule(context, RuleType.Rule);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 24;
-        }
-        
-        final String stateComment = "State: 24 - GherkinDocument:0>Feature:3>Rule:0>RuleHeader:1>DescriptionHelper:2>#Comment:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Empty");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 24;
-
-    }
-
-
-    // GherkinDocument:0>Feature:3>Rule:1>Background:0>#BackgroundLine:0
-    private int matchTokenAt_25(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.Background);
-                endRule(context, RuleType.Rule);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 25;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 27;
-        }
-        if (match_StepLine(context, token))
-        {
-                startRule(context, RuleType.Step);
-                build(context, token);
-            return 28;
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.Background);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 30;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.Background);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 31;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.Background);
-                endRule(context, RuleType.Rule);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Other(context, token))
-        {
-                startRule(context, RuleType.Description);
-                build(context, token);
-            return 26;
-        }
-        
-        final String stateComment = "State: 25 - GherkinDocument:0>Feature:3>Rule:1>Background:0>#BackgroundLine:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 25;
-
-    }
-
-
-    // GherkinDocument:0>Feature:3>Rule:1>Background:1>DescriptionHelper:1>Description:0>#Other:0
-    private int matchTokenAt_26(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.Background);
-                endRule(context, RuleType.Rule);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_Comment(context, token))
-        {
-                endRule(context, RuleType.Description);
-                build(context, token);
-            return 27;
-        }
-        if (match_StepLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                startRule(context, RuleType.Step);
-                build(context, token);
-            return 28;
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.Background);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 30;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.Background);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 31;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.Background);
-                endRule(context, RuleType.Rule);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Other(context, token))
-        {
-                build(context, token);
-            return 26;
-        }
-        
-        final String stateComment = "State: 26 - GherkinDocument:0>Feature:3>Rule:1>Background:1>DescriptionHelper:1>Description:0>#Other:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 26;
-
-    }
-
-
-    // GherkinDocument:0>Feature:3>Rule:1>Background:1>DescriptionHelper:2>#Comment:0
-    private int matchTokenAt_27(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.Background);
-                endRule(context, RuleType.Rule);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 27;
-        }
-        if (match_StepLine(context, token))
-        {
-                startRule(context, RuleType.Step);
-                build(context, token);
-            return 28;
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.Background);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 30;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.Background);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 31;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.Background);
-                endRule(context, RuleType.Rule);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 27;
-        }
-        
-        final String stateComment = "State: 27 - GherkinDocument:0>Feature:3>Rule:1>Background:1>DescriptionHelper:2>#Comment:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Empty");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 27;
-
-    }
-
-
-    // GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:0>#StepLine:0
-    private int matchTokenAt_28(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Background);
-                endRule(context, RuleType.Rule);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_TableRow(context, token))
-        {
-                startRule(context, RuleType.DataTable);
-                build(context, token);
-            return 29;
-        }
-        if (match_DocStringSeparator(context, token))
-        {
-                startRule(context, RuleType.DocString);
-                build(context, token);
-            return 44;
-        }
-        if (match_StepLine(context, token))
-        {
-                endRule(context, RuleType.Step);
-                startRule(context, RuleType.Step);
-                build(context, token);
-            return 28;
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Background);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 30;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Background);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 31;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Background);
-                endRule(context, RuleType.Rule);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 28;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 28;
-        }
-        
-        final String stateComment = "State: 28 - GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:0>#StepLine:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 28;
-
-    }
-
-
-    // GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0
-    private int matchTokenAt_29(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.DataTable);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Background);
-                endRule(context, RuleType.Rule);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_TableRow(context, token))
-        {
-                build(context, token);
-            return 29;
-        }
-        if (match_StepLine(context, token))
-        {
-                endRule(context, RuleType.DataTable);
-                endRule(context, RuleType.Step);
-                startRule(context, RuleType.Step);
-                build(context, token);
-            return 28;
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.DataTable);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Background);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 30;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.DataTable);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Background);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 31;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.DataTable);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Background);
-                endRule(context, RuleType.Rule);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 29;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 29;
-        }
-        
-        final String stateComment = "State: 29 - GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#TableRow", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 29;
-
-    }
-
-
-    // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:0>Tags:0>#TagLine:0
-    private int matchTokenAt_30(Token token, ParserContext context) {
-        if (match_TagLine(context, token))
-        {
-                build(context, token);
-            return 30;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.Tags);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 31;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 30;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 30;
-        }
-        
-        final String stateComment = "State: 30 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:0>Tags:0>#TagLine:0";
-        token.detach();
-        List<String> expectedTokens = asList("#TagLine", "#ScenarioLine", "#Comment", "#Empty");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 30;
-
-    }
-
-
-    // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:0>#ScenarioLine:0
-    private int matchTokenAt_31(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                endRule(context, RuleType.Rule);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 31;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 33;
-        }
-        if (match_StepLine(context, token))
-        {
-                startRule(context, RuleType.Step);
-                build(context, token);
-            return 34;
-        }
-        if (match_TagLine(context, token))
-        {
-            if (lookahead_0(context, token))
-            {
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 36;
-            }
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 30;
-        }
-        if (match_ExamplesLine(context, token))
-        {
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Examples);
-                build(context, token);
-            return 37;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 31;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                endRule(context, RuleType.Rule);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Other(context, token))
-        {
-                startRule(context, RuleType.Description);
-                build(context, token);
-            return 32;
-        }
-        
-        final String stateComment = "State: 31 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:0>#ScenarioLine:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 31;
-
-    }
-
-
-    // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:1>Description:0>#Other:0
-    private int matchTokenAt_32(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                endRule(context, RuleType.Rule);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_Comment(context, token))
-        {
-                endRule(context, RuleType.Description);
-                build(context, token);
-            return 33;
-        }
-        if (match_StepLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                startRule(context, RuleType.Step);
-                build(context, token);
-            return 34;
-        }
-        if (match_TagLine(context, token))
-        {
-            if (lookahead_0(context, token))
-            {
-                endRule(context, RuleType.Description);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 36;
-            }
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 30;
-        }
-        if (match_ExamplesLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Examples);
-                build(context, token);
-            return 37;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 31;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                endRule(context, RuleType.Rule);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Other(context, token))
-        {
-                build(context, token);
-            return 32;
-        }
-        
-        final String stateComment = "State: 32 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:1>Description:0>#Other:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 32;
-
-    }
-
-
-    // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:2>#Comment:0
-    private int matchTokenAt_33(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                endRule(context, RuleType.Rule);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 33;
-        }
-        if (match_StepLine(context, token))
-        {
-                startRule(context, RuleType.Step);
-                build(context, token);
-            return 34;
-        }
-        if (match_TagLine(context, token))
-        {
-            if (lookahead_0(context, token))
-            {
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 36;
-            }
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 30;
-        }
-        if (match_ExamplesLine(context, token))
-        {
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Examples);
-                build(context, token);
-            return 37;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 31;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                endRule(context, RuleType.Rule);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 33;
-        }
-        
-        final String stateComment = "State: 33 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:2>#Comment:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Empty");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 33;
-
-    }
-
-
-    // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:0>#StepLine:0
-    private int matchTokenAt_34(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                endRule(context, RuleType.Rule);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_TableRow(context, token))
-        {
-                startRule(context, RuleType.DataTable);
-                build(context, token);
-            return 35;
-        }
-        if (match_DocStringSeparator(context, token))
-        {
-                startRule(context, RuleType.DocString);
-                build(context, token);
-            return 42;
-        }
-        if (match_StepLine(context, token))
-        {
-                endRule(context, RuleType.Step);
-                startRule(context, RuleType.Step);
-                build(context, token);
-            return 34;
-        }
-        if (match_TagLine(context, token))
-        {
-            if (lookahead_0(context, token))
-            {
-                endRule(context, RuleType.Step);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 36;
-            }
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 30;
-        }
-        if (match_ExamplesLine(context, token))
-        {
-                endRule(context, RuleType.Step);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Examples);
-                build(context, token);
-            return 37;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 31;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                endRule(context, RuleType.Rule);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 34;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 34;
-        }
-        
-        final String stateComment = "State: 34 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:0>#StepLine:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 34;
-
-    }
-
-
-    // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0
-    private int matchTokenAt_35(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.DataTable);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                endRule(context, RuleType.Rule);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_TableRow(context, token))
-        {
-                build(context, token);
-            return 35;
-        }
-        if (match_StepLine(context, token))
-        {
-                endRule(context, RuleType.DataTable);
-                endRule(context, RuleType.Step);
-                startRule(context, RuleType.Step);
-                build(context, token);
-            return 34;
-        }
-        if (match_TagLine(context, token))
-        {
-            if (lookahead_0(context, token))
-            {
-                endRule(context, RuleType.DataTable);
-                endRule(context, RuleType.Step);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 36;
-            }
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.DataTable);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 30;
-        }
-        if (match_ExamplesLine(context, token))
-        {
-                endRule(context, RuleType.DataTable);
-                endRule(context, RuleType.Step);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Examples);
-                build(context, token);
-            return 37;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.DataTable);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 31;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.DataTable);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                endRule(context, RuleType.Rule);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 35;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 35;
-        }
-        
-        final String stateComment = "State: 35 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#TableRow", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 35;
-
-    }
-
-
-    // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:0>Tags:0>#TagLine:0
-    private int matchTokenAt_36(Token token, ParserContext context) {
-        if (match_TagLine(context, token))
-        {
-                build(context, token);
-            return 36;
-        }
-        if (match_ExamplesLine(context, token))
-        {
-                endRule(context, RuleType.Tags);
-                startRule(context, RuleType.Examples);
-                build(context, token);
-            return 37;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 36;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 36;
-        }
-        
-        final String stateComment = "State: 36 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:0>Tags:0>#TagLine:0";
-        token.detach();
-        List<String> expectedTokens = asList("#TagLine", "#ExamplesLine", "#Comment", "#Empty");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 36;
-
-    }
-
-
-    // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:0>#ExamplesLine:0
-    private int matchTokenAt_37(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                endRule(context, RuleType.Rule);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 37;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 39;
-        }
-        if (match_TableRow(context, token))
-        {
-                startRule(context, RuleType.ExamplesTable);
-                build(context, token);
-            return 40;
-        }
-        if (match_TagLine(context, token))
-        {
-            if (lookahead_0(context, token))
-            {
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 36;
-            }
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 30;
-        }
-        if (match_ExamplesLine(context, token))
-        {
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Examples);
-                build(context, token);
-            return 37;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 31;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                endRule(context, RuleType.Rule);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Other(context, token))
-        {
-                startRule(context, RuleType.Description);
-                build(context, token);
-            return 38;
-        }
-        
-        final String stateComment = "State: 37 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:0>#ExamplesLine:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#Empty", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 37;
-
-    }
-
-
-    // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:1>Description:0>#Other:0
-    private int matchTokenAt_38(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                endRule(context, RuleType.Rule);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_Comment(context, token))
-        {
-                endRule(context, RuleType.Description);
-                build(context, token);
-            return 39;
-        }
-        if (match_TableRow(context, token))
-        {
-                endRule(context, RuleType.Description);
-                startRule(context, RuleType.ExamplesTable);
-                build(context, token);
-            return 40;
-        }
-        if (match_TagLine(context, token))
-        {
-            if (lookahead_0(context, token))
-            {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 36;
-            }
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 30;
-        }
-        if (match_ExamplesLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Examples);
-                build(context, token);
-            return 37;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 31;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.Description);
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                endRule(context, RuleType.Rule);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Other(context, token))
-        {
-                build(context, token);
-            return 38;
-        }
-        
-        final String stateComment = "State: 38 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:1>Description:0>#Other:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 38;
-
-    }
-
-
-    // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:2>#Comment:0
-    private int matchTokenAt_39(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                endRule(context, RuleType.Rule);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 39;
-        }
-        if (match_TableRow(context, token))
-        {
-                startRule(context, RuleType.ExamplesTable);
-                build(context, token);
-            return 40;
-        }
-        if (match_TagLine(context, token))
-        {
-            if (lookahead_0(context, token))
-            {
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 36;
-            }
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 30;
-        }
-        if (match_ExamplesLine(context, token))
-        {
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Examples);
-                build(context, token);
-            return 37;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 31;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                endRule(context, RuleType.Rule);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 39;
-        }
-        
-        final String stateComment = "State: 39 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:2>#Comment:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Empty");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 39;
-
-    }
-
-
-    // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:2>ExamplesTable:0>#TableRow:0
-    private int matchTokenAt_40(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.ExamplesTable);
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                endRule(context, RuleType.Rule);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_TableRow(context, token))
-        {
-                build(context, token);
-            return 40;
-        }
-        if (match_TagLine(context, token))
-        {
-            if (lookahead_0(context, token))
-            {
-                endRule(context, RuleType.ExamplesTable);
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 36;
-            }
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.ExamplesTable);
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 30;
-        }
-        if (match_ExamplesLine(context, token))
-        {
-                endRule(context, RuleType.ExamplesTable);
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Examples);
-                build(context, token);
-            return 37;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.ExamplesTable);
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 31;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.ExamplesTable);
-                endRule(context, RuleType.Examples);
-                endRule(context, RuleType.ExamplesDefinition);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                endRule(context, RuleType.Rule);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 40;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 40;
-        }
-        
-        final String stateComment = "State: 40 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:2>ExamplesTable:0>#TableRow:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 40;
-
-    }
-
-
-    // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0
-    private int matchTokenAt_42(Token token, ParserContext context) {
-        if (match_DocStringSeparator(context, token))
-        {
-                build(context, token);
-            return 43;
-        }
-        if (match_Other(context, token))
-        {
-                build(context, token);
-            return 42;
-        }
-        
-        final String stateComment = "State: 42 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0";
-        token.detach();
-        List<String> expectedTokens = asList("#DocStringSeparator", "#Other");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 42;
-
-    }
-
-
-    // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0
-    private int matchTokenAt_43(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.DocString);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                endRule(context, RuleType.Rule);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_StepLine(context, token))
-        {
-                endRule(context, RuleType.DocString);
-                endRule(context, RuleType.Step);
-                startRule(context, RuleType.Step);
-                build(context, token);
-            return 34;
-        }
-        if (match_TagLine(context, token))
-        {
-            if (lookahead_0(context, token))
-            {
-                endRule(context, RuleType.DocString);
-                endRule(context, RuleType.Step);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 36;
-            }
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.DocString);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 30;
-        }
-        if (match_ExamplesLine(context, token))
-        {
-                endRule(context, RuleType.DocString);
-                endRule(context, RuleType.Step);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Examples);
-                build(context, token);
-            return 37;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.DocString);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 31;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.DocString);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                endRule(context, RuleType.Rule);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 43;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 43;
-        }
-        
-        final String stateComment = "State: 43 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 43;
-
-    }
-
-
-    // GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0
-    private int matchTokenAt_44(Token token, ParserContext context) {
-        if (match_DocStringSeparator(context, token))
-        {
-                build(context, token);
-            return 45;
-        }
-        if (match_Other(context, token))
-        {
-                build(context, token);
-            return 44;
-        }
-        
-        final String stateComment = "State: 44 - GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0";
-        token.detach();
-        List<String> expectedTokens = asList("#DocStringSeparator", "#Other");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 44;
-
-    }
-
-
-    // GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0
-    private int matchTokenAt_45(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.DocString);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Background);
-                endRule(context, RuleType.Rule);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_StepLine(context, token))
-        {
-                endRule(context, RuleType.DocString);
-                endRule(context, RuleType.Step);
-                startRule(context, RuleType.Step);
-                build(context, token);
-            return 28;
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.DocString);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Background);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 30;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.DocString);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Background);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 31;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.DocString);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Background);
-                endRule(context, RuleType.Rule);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 45;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 45;
-        }
-        
-        final String stateComment = "State: 45 - GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 45;
-
-    }
-
-
-    // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0
-    private int matchTokenAt_46(Token token, ParserContext context) {
-        if (match_DocStringSeparator(context, token))
-        {
-                build(context, token);
-            return 47;
-        }
-        if (match_Other(context, token))
-        {
-                build(context, token);
-            return 46;
-        }
-        
-        final String stateComment = "State: 46 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0";
-        token.detach();
-        List<String> expectedTokens = asList("#DocStringSeparator", "#Other");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 46;
-
-    }
-
-
-    // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0
-    private int matchTokenAt_47(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.DocString);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_StepLine(context, token))
-        {
-                endRule(context, RuleType.DocString);
-                endRule(context, RuleType.Step);
-                startRule(context, RuleType.Step);
-                build(context, token);
-            return 15;
-        }
-        if (match_TagLine(context, token))
-        {
-            if (lookahead_0(context, token))
-            {
-                endRule(context, RuleType.DocString);
-                endRule(context, RuleType.Step);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 17;
-            }
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.DocString);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 11;
-        }
-        if (match_ExamplesLine(context, token))
-        {
-                endRule(context, RuleType.DocString);
-                endRule(context, RuleType.Step);
-                startRule(context, RuleType.ExamplesDefinition);
-                startRule(context, RuleType.Examples);
-                build(context, token);
-            return 18;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.DocString);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 12;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.DocString);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Scenario);
-                endRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 47;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 47;
-        }
-        
-        final String stateComment = "State: 47 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 47;
-
-    }
-
-
-    // GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0
-    private int matchTokenAt_48(Token token, ParserContext context) {
-        if (match_DocStringSeparator(context, token))
-        {
-                build(context, token);
-            return 49;
-        }
-        if (match_Other(context, token))
-        {
-                build(context, token);
-            return 48;
-        }
-        
-        final String stateComment = "State: 48 - GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0";
-        token.detach();
-        List<String> expectedTokens = asList("#DocStringSeparator", "#Other");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 48;
-
-    }
-
-
-    // GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0
-    private int matchTokenAt_49(Token token, ParserContext context) {
-        if (match_EOF(context, token))
-        {
-                endRule(context, RuleType.DocString);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Background);
-                endRule(context, RuleType.Feature);
-                build(context, token);
-            return 41;
-        }
-        if (match_StepLine(context, token))
-        {
-                endRule(context, RuleType.DocString);
-                endRule(context, RuleType.Step);
-                startRule(context, RuleType.Step);
-                build(context, token);
-            return 9;
-        }
-        if (match_TagLine(context, token))
-        {
-                endRule(context, RuleType.DocString);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Background);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Tags);
-                build(context, token);
-            return 11;
-        }
-        if (match_ScenarioLine(context, token))
-        {
-                endRule(context, RuleType.DocString);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Background);
-                startRule(context, RuleType.ScenarioDefinition);
-                startRule(context, RuleType.Scenario);
-                build(context, token);
-            return 12;
-        }
-        if (match_RuleLine(context, token))
-        {
-                endRule(context, RuleType.DocString);
-                endRule(context, RuleType.Step);
-                endRule(context, RuleType.Background);
-                startRule(context, RuleType.Rule);
-                startRule(context, RuleType.RuleHeader);
-                build(context, token);
-            return 22;
-        }
-        if (match_Comment(context, token))
-        {
-                build(context, token);
-            return 49;
-        }
-        if (match_Empty(context, token))
-        {
-                build(context, token);
-            return 49;
-        }
-        
-        final String stateComment = "State: 49 - GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0";
-        token.detach();
-        List<String> expectedTokens = asList("#EOF", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty");
-        ParserException error = token.isEOF()
-                ? new ParserException.UnexpectedEOFException(token, expectedTokens, stateComment)
-                : new ParserException.UnexpectedTokenException(token, expectedTokens, stateComment);
-        if (stopAtFirstError)
-            throw error;
-
-        addError(context, error);
-        return 49;
-
-    }
-
-
-
-    private boolean lookahead_0(ParserContext context, Token currentToken) {
-        currentToken.detach();
-        Token token;
-        Queue<Token> queue = new ArrayDeque<Token>();
-        boolean match = false;
-        do
-        {
-            token = readToken(context);
-            token.detach();
-            queue.add(token);
-
-            if (false
-                || match_ExamplesLine(context, token)
-            )
-            {
-                match = true;
-                break;
-            }
-        } while (false
-            || match_Empty(context, token)
-            || match_Comment(context, token)
-            || match_TagLine(context, token)
-        );
-
-        context.tokenQueue.addAll(queue);
-
-        return match;
-    }
-
-
-    public interface Builder<T> {
-        void build(Token token);
-        void startRule(RuleType ruleType);
-        void endRule(RuleType ruleType);
-        T getResult();
-        void reset();
-    }
-
-    public interface ITokenScanner {
-        Token read();
-    }
-
-    public interface ITokenMatcher {
-        boolean match_EOF(Token token);
-        boolean match_Empty(Token token);
-        boolean match_Comment(Token token);
-        boolean match_TagLine(Token token);
-        boolean match_FeatureLine(Token token);
-        boolean match_RuleLine(Token token);
-        boolean match_BackgroundLine(Token token);
-        boolean match_ScenarioLine(Token token);
-        boolean match_ExamplesLine(Token token);
-        boolean match_StepLine(Token token);
-        boolean match_DocStringSeparator(Token token);
-        boolean match_TableRow(Token token);
-        boolean match_Language(Token token);
-        boolean match_Other(Token token);
-        void reset();
-    }
-}
diff --git a/gherkin/java/src/main/java/gherkin/ParserException.java b/gherkin/java/src/main/java/gherkin/ParserException.java
deleted file mode 100644
index 941c766363..0000000000
--- a/gherkin/java/src/main/java/gherkin/ParserException.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package gherkin;
-
-import java.util.Collections;
-import java.util.List;
-
-public class ParserException extends GherkinException {
-    public final Location location;
-
-    protected ParserException(String message) {
-        super(message);
-        location = new Location(-1, -1);
-    }
-
-    protected ParserException(String message, Location location) {
-        super(getMessage(message, location));
-        this.location = location;
-    }
-
-    private static String getMessage(String message, Location location) {
-        return String.format("(%s:%s): %s", location.getLine(), location.getColumn(), message);
-    }
-
-    public static class AstBuilderException extends ParserException {
-        public AstBuilderException(String message, Location location) {
-            super(message, location);
-        }
-    }
-
-    public static class NoSuchLanguageException extends ParserException {
-        public NoSuchLanguageException(String language, Location location) {
-            super("Language not supported: " + language, location);
-        }
-    }
-
-    public static class UnexpectedTokenException extends ParserException {
-        public String stateComment;
-
-        public final Token receivedToken;
-        public final List<String> expectedTokenTypes;
-
-        public UnexpectedTokenException(Token receivedToken, List<String> expectedTokenTypes, String stateComment) {
-            super(getMessage(receivedToken, expectedTokenTypes), getLocation(receivedToken));
-            this.receivedToken = receivedToken;
-            this.expectedTokenTypes = expectedTokenTypes;
-            this.stateComment = stateComment;
-        }
-
-        private static String getMessage(Token receivedToken, List<String> expectedTokenTypes) {
-            return String.format("expected: %s, got '%s'",
-                    StringUtils.join(", ", expectedTokenTypes),
-                    receivedToken.getTokenValue().trim());
-        }
-
-        private static Location getLocation(Token receivedToken) {
-            return receivedToken.location.getColumn() > 1
-                    ? receivedToken.location
-                    : new Location(receivedToken.location.getLine(), receivedToken.line.indent() + 1);
-        }
-    }
-
-    public static class UnexpectedEOFException extends ParserException {
-        public final String stateComment;
-        public final List<String> expectedTokenTypes;
-
-        public UnexpectedEOFException(Token receivedToken, List<String> expectedTokenTypes, String stateComment) {
-            super(getMessage(expectedTokenTypes), receivedToken.location);
-            this.expectedTokenTypes = expectedTokenTypes;
-            this.stateComment = stateComment;
-        }
-
-        private static String getMessage(List<String> expectedTokenTypes) {
-            return String.format("unexpected end of file, expected: %s",
-                    StringUtils.join(", ", expectedTokenTypes));
-        }
-    }
-
-    public static class CompositeParserException extends ParserException {
-        public final List<ParserException> errors;
-
-        public CompositeParserException(List<ParserException> errors) {
-            super(getMessage(errors));
-            this.errors = Collections.unmodifiableList(errors);
-        }
-
-        private static String getMessage(List<ParserException> errors) {
-            if (errors == null) throw new NullPointerException("errors");
-
-            StringUtils.ToString<ParserException> exceptionToString = new StringUtils.ToString<ParserException>() {
-                @Override
-                public String toString(ParserException e) {
-                    return e.getMessage();
-                }
-            };
-            return "Parser errors:\n" + StringUtils.join(exceptionToString, "\n", errors);
-        }
-    }
-}
diff --git a/gherkin/java/src/main/java/gherkin/StringUtils.java b/gherkin/java/src/main/java/gherkin/StringUtils.java
deleted file mode 100644
index 9cf3b701e2..0000000000
--- a/gherkin/java/src/main/java/gherkin/StringUtils.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package gherkin;
-
-import java.util.List;
-
-public class StringUtils {
-    public static String join(String separator, List<String> items) {
-        return join(ToString.DEFAULT, separator, items);
-    }
-
-    public static <T> String join(ToString<T> toString, String separator, Iterable<T> items) {
-        StringBuilder sb = new StringBuilder();
-        boolean useSeparator = false;
-        for (T item : items) {
-            if (useSeparator) sb.append(separator);
-            useSeparator = true;
-            sb.append(toString.toString(item));
-        }
-        return sb.toString();
-    }
-
-    public static String ltrim(String s) {
-        int i = 0;
-        while (i < s.length() && Character.isWhitespace(s.charAt(i))) {
-            i++;
-        }
-        return s.substring(i);
-    }
-
-    public interface ToString<T> {
-        ToString<String> DEFAULT = new ToString<String>() {
-            @Override
-            public String toString(String o) {
-                return o;
-            }
-        };
-
-        String toString(T o);
-    }
-}
diff --git a/gherkin/java/src/main/java/gherkin/SymbolCounter.java b/gherkin/java/src/main/java/gherkin/SymbolCounter.java
deleted file mode 100644
index 8d3f7f88f2..0000000000
--- a/gherkin/java/src/main/java/gherkin/SymbolCounter.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package gherkin;
-
-// http://rosettacode.org/wiki/String_length#Java
-public class SymbolCounter {
-    public static int countSymbols(String string) {
-        return string.codePointCount(0, string.length());
-    }
-}
diff --git a/gherkin/java/src/main/java/gherkin/Token.java b/gherkin/java/src/main/java/gherkin/Token.java
deleted file mode 100644
index 1ab7848a62..0000000000
--- a/gherkin/java/src/main/java/gherkin/Token.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package gherkin;
-
-import java.util.List;
-
-public class Token {
-    public final IGherkinLine line;
-    public Parser.TokenType matchedType;
-    public String matchedKeyword;
-    public String matchedText;
-    public List<GherkinLineSpan> mathcedItems;
-    public int matchedIndent;
-    public GherkinDialect matchedGherkinDialect;
-    public Location location;
-
-    public Token(IGherkinLine line, Location location) {
-        this.line = line;
-        this.location = location;
-    }
-
-    public boolean isEOF() {
-        return line == null;
-    }
-
-    public void detach() {
-        if (line != null)
-            line.detach();
-    }
-
-    public String getTokenValue() {
-        return isEOF() ? "EOF" : line.getLineText(-1);
-    }
-
-    @Override
-    public String toString() {
-        return String.format("%s: %s/%s", matchedType, matchedKeyword, matchedText);
-    }
-}
diff --git a/gherkin/java/src/main/java/gherkin/TokenFormatter.java b/gherkin/java/src/main/java/gherkin/TokenFormatter.java
deleted file mode 100644
index 1375ec9437..0000000000
--- a/gherkin/java/src/main/java/gherkin/TokenFormatter.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package gherkin;
-
-public class TokenFormatter {
-    private static final StringUtils.ToString<GherkinLineSpan> SPAN_TO_STRING = new StringUtils.ToString<GherkinLineSpan>() {
-        @Override
-        public String toString(GherkinLineSpan o) {
-            return o.column + ":" + o.text;
-        }
-    };
-
-    public String formatToken(Token token) {
-        if (token.isEOF())
-            return "EOF";
-
-        return String.format("(%s:%s)%s:%s/%s/%s",
-                toString(token.location.getLine()),
-                toString(token.location.getColumn()),
-                toString(token.matchedType),
-                toString(token.matchedKeyword),
-                toString(token.matchedText),
-                toString(token.mathcedItems == null ? "" : StringUtils.join(SPAN_TO_STRING, ",", token.mathcedItems))
-        );
-    }
-
-    private String toString(Object o) {
-        return o == null ? "" : o.toString();
-    }
-}
diff --git a/gherkin/java/src/main/java/gherkin/TokenFormatterBuilder.java b/gherkin/java/src/main/java/gherkin/TokenFormatterBuilder.java
deleted file mode 100644
index 07db47b125..0000000000
--- a/gherkin/java/src/main/java/gherkin/TokenFormatterBuilder.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package gherkin;
-
-public class TokenFormatterBuilder implements Parser.Builder<String> {
-    private final TokenFormatter formatter = new TokenFormatter();
-    private final StringBuilder tokensTextBuilder = new StringBuilder();
-
-    @Override
-    public void build(Token token) {
-        tokensTextBuilder.append(formatter.formatToken(token)).append("\n");
-    }
-
-    @Override
-    public void startRule(Parser.RuleType ruleType) {
-    }
-
-    @Override
-    public void endRule(Parser.RuleType ruleType) {
-    }
-
-    @Override
-    public String getResult() {
-        return tokensTextBuilder.toString();
-    }
-
-    @Override
-    public void reset() {
-    }
-}
diff --git a/gherkin/java/src/main/java/gherkin/TokenMatcher.java b/gherkin/java/src/main/java/gherkin/TokenMatcher.java
deleted file mode 100644
index 6ecd96ff5f..0000000000
--- a/gherkin/java/src/main/java/gherkin/TokenMatcher.java
+++ /dev/null
@@ -1,198 +0,0 @@
-package gherkin;
-
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import static gherkin.Parser.ITokenMatcher;
-import static gherkin.Parser.TokenType;
-
-public class TokenMatcher implements ITokenMatcher {
-    private static final Pattern LANGUAGE_PATTERN = Pattern.compile("^\\s*#\\s*language\\s*:\\s*([a-zA-Z\\-_]+)\\s*$");
-    private final IGherkinDialectProvider dialectProvider;
-    private GherkinDialect currentDialect;
-    private String activeDocStringSeparator = null;
-    private int indentToRemove = 0;
-
-    public TokenMatcher(IGherkinDialectProvider dialectProvider) {
-        this.dialectProvider = dialectProvider;
-        reset();
-    }
-
-    public TokenMatcher() {
-        this(new GherkinDialectProvider());
-    }
-
-    public TokenMatcher(String defaultDialectName) {
-        this(new GherkinDialectProvider(defaultDialectName));
-    }
-
-    @Override
-    public void reset() {
-        activeDocStringSeparator = null;
-        indentToRemove = 0;
-        currentDialect = dialectProvider.getDefaultDialect();
-    }
-
-    private GherkinDialect getCurrentDialect() {
-        return currentDialect;
-    }
-
-    private void setTokenMatched(Token token, TokenType matchedType, String text, String keyword, Integer indent, List<GherkinLineSpan> items) {
-        token.matchedType = matchedType;
-        token.matchedKeyword = keyword;
-        token.matchedText = text;
-        token.mathcedItems = items;
-        token.matchedGherkinDialect = getCurrentDialect();
-        token.matchedIndent = indent != null ? indent : (token.line == null ? 0 : token.line.indent());
-        token.location = new Location(token.location.getLine(), token.matchedIndent + 1);
-    }
-
-    @Override
-    public boolean match_EOF(Token token) {
-        if (token.isEOF()) {
-            setTokenMatched(token, TokenType.EOF, null, null, null, null);
-            return true;
-        }
-        return false;
-    }
-
-    @Override
-    public boolean match_Other(Token token) {
-        String text = token.line.getLineText(indentToRemove); //take the entire line, except removing DocString indents
-        setTokenMatched(token, TokenType.Other, unescapeDocString(text), null, 0, null);
-        return true;
-    }
-
-    @Override
-    public boolean match_Empty(Token token) {
-        if (token.line.isEmpty()) {
-            setTokenMatched(token, TokenType.Empty, null, null, null, null);
-            return true;
-        }
-        return false;
-    }
-
-    @Override
-    public boolean match_Comment(Token token) {
-        if (token.line.startsWith(GherkinLanguageConstants.COMMENT_PREFIX)) {
-            String text = token.line.getLineText(0); //take the entire line
-            setTokenMatched(token, TokenType.Comment, text, null, 0, null);
-            return true;
-        }
-        return false;
-    }
-
-    @Override
-    public boolean match_Language(Token token) {
-        Matcher matcher = LANGUAGE_PATTERN.matcher(token.line.getLineText(0));
-        if (matcher.matches()) {
-            String language = matcher.group(1);
-            setTokenMatched(token, TokenType.Language, language, null, null, null);
-
-            currentDialect = dialectProvider.getDialect(language, token.location);
-            return true;
-        }
-        return false;
-    }
-
-    @Override
-    public boolean match_TagLine(Token token) {
-        if (token.line.startsWith(GherkinLanguageConstants.TAG_PREFIX)) {
-            setTokenMatched(token, TokenType.TagLine, null, null, null, token.line.getTags());
-            return true;
-        }
-        return false;
-    }
-
-    @Override
-    public boolean match_FeatureLine(Token token) {
-        return matchTitleLine(token, TokenType.FeatureLine, currentDialect.getFeatureKeywords());
-    }
-
-    @Override
-    public boolean match_RuleLine(Token token) {
-        return matchTitleLine(token, TokenType.RuleLine, currentDialect.getRuleKeywords());
-    }
-
-    @Override
-    public boolean match_BackgroundLine(Token token) {
-        return matchTitleLine(token, TokenType.BackgroundLine, currentDialect.getBackgroundKeywords());
-    }
-
-    @Override
-    public boolean match_ScenarioLine(Token token) {
-        return matchTitleLine(token, TokenType.ScenarioLine, currentDialect.getScenarioKeywords()) ||
-                matchTitleLine(token, TokenType.ScenarioLine, currentDialect.getScenarioOutlineKeywords());
-    }
-
-    @Override
-    public boolean match_ExamplesLine(Token token) {
-        return matchTitleLine(token, TokenType.ExamplesLine, currentDialect.getExamplesKeywords());
-    }
-
-    private boolean matchTitleLine(Token token, TokenType tokenType, List<String> keywords) {
-        for (String keyword : keywords) {
-            if (token.line.startsWithTitleKeyword(keyword)) {
-                String title = token.line.getRestTrimmed(keyword.length() + GherkinLanguageConstants.TITLE_KEYWORD_SEPARATOR.length());
-                setTokenMatched(token, tokenType, title, keyword, null, null);
-                return true;
-            }
-        }
-        return false;
-    }
-
-    @Override
-    public boolean match_DocStringSeparator(Token token) {
-        return activeDocStringSeparator == null
-                // open
-                ? match_DocStringSeparator(token, GherkinLanguageConstants.DOCSTRING_SEPARATOR, true) ||
-                match_DocStringSeparator(token, GherkinLanguageConstants.DOCSTRING_ALTERNATIVE_SEPARATOR, true)
-                // close
-                : match_DocStringSeparator(token, activeDocStringSeparator, false);
-    }
-
-    private boolean match_DocStringSeparator(Token token, String separator, boolean isOpen) {
-        if (token.line.startsWith(separator)) {
-            String contentType = null;
-            if (isOpen) {
-                contentType = token.line.getRestTrimmed(separator.length());
-                activeDocStringSeparator = separator;
-                indentToRemove = token.line.indent();
-            } else {
-                activeDocStringSeparator = null;
-                indentToRemove = 0;
-            }
-
-            setTokenMatched(token, TokenType.DocStringSeparator, contentType, separator, null, null);
-            return true;
-        }
-        return false;
-    }
-
-    @Override
-    public boolean match_StepLine(Token token) {
-        List<String> keywords = currentDialect.getStepKeywords();
-        for (String keyword : keywords) {
-            if (token.line.startsWith(keyword)) {
-                String stepText = token.line.getRestTrimmed(keyword.length());
-                setTokenMatched(token, TokenType.StepLine, stepText, keyword, null, null);
-                return true;
-            }
-        }
-        return false;
-    }
-
-    @Override
-    public boolean match_TableRow(Token token) {
-        if (token.line.startsWith(GherkinLanguageConstants.TABLE_CELL_SEPARATOR)) {
-            setTokenMatched(token, TokenType.TableRow, null, null, null, token.line.getTableCells());
-            return true;
-        }
-        return false;
-    }
-
-    private String unescapeDocString(String text) {
-        return activeDocStringSeparator != null ? text.replace("\\\"\\\"\\\"", "\"\"\"") : text;
-    }
-}
diff --git a/gherkin/java/src/main/java/gherkin/TokenScanner.java b/gherkin/java/src/main/java/gherkin/TokenScanner.java
deleted file mode 100644
index 054f9306c3..0000000000
--- a/gherkin/java/src/main/java/gherkin/TokenScanner.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package gherkin;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.Reader;
-import java.io.StringReader;
-
-/**
- * <p>
- * The scanner reads a gherkin doc (typically read from a .feature file) and creates a token
- * for each line. The tokens are passed to the parser, which outputs an AST (Abstract Syntax Tree).</p>
- * <p>
- * If the scanner sees a # language header, it will reconfigure itself dynamically to look for
- * Gherkin keywords for the associated language. The keywords are defined in gherkin-languages.json.</p>
- */
-public class TokenScanner implements Parser.ITokenScanner {
-
-    private final BufferedReader reader;
-    private int lineNumber;
-
-    public TokenScanner(String source) {
-        this(new StringReader(source));
-    }
-
-    public TokenScanner(Reader source) {
-        this.reader = new BufferedReader(source);
-    }
-
-    @Override
-    public Token read() {
-        try {
-            String line = reader.readLine();
-            Location location = new Location(++lineNumber, 0);
-            return line == null ? new Token(null, location) : new Token(new GherkinLine(line), location);
-        } catch (IOException e) {
-            throw new RuntimeException(e);
-        }
-    }
-}
diff --git a/gherkin/java/src/main/java/gherkin/messages/FileSources.java b/gherkin/java/src/main/java/gherkin/messages/FileSources.java
deleted file mode 100644
index 2e264c0a80..0000000000
--- a/gherkin/java/src/main/java/gherkin/messages/FileSources.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package gherkin.messages;
-
-import io.cucumber.messages.Messages.Media;
-import io.cucumber.messages.Messages.Source;
-
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * Iterates over {@link Source} messages from the file system.
- */
-public class FileSources implements Iterable<Source> {
-    private final List<String> paths;
-
-    public FileSources(List<String> paths) {
-        this.paths = paths;
-    }
-
-    @Override
-    public Iterator<Source> iterator() {
-        final Iterator<String> pathIterator = paths.iterator();
-
-        return new Iterator<Source>() {
-            @Override
-            public boolean hasNext() {
-                return pathIterator.hasNext();
-            }
-
-            @Override
-            public Source next() {
-                try {
-                    String path = pathIterator.next();
-                    String data = read(new InputStreamReader(new FileInputStream(path), "UTF-8"));
-                    return Source.newBuilder()
-                            .setUri(path)
-                            .setData(data)
-                            .setMedia(
-                                    Media.newBuilder()
-                                            .setContentType("text/x.cucumber.gherkin+plain")
-                                            .setEncoding("UTF-8")
-                            )
-                            .build();
-                } catch (IOException e) {
-                    throw new RuntimeException(e);
-                }
-            }
-
-            @Override
-            public void remove() {
-                throw new UnsupportedOperationException();
-            }
-        };
-    }
-
-    private static String read(Reader reader) throws IOException {
-        final char[] buffer = new char[0x10000];
-        StringBuilder sb = new StringBuilder();
-        int read;
-        do {
-            read = reader.read(buffer, 0, buffer.length);
-            if (read > 0) {
-                sb.append(buffer, 0, read);
-            }
-        } while (read >= 0);
-        return sb.toString();
-    }
-}
diff --git a/gherkin/java/src/main/java/gherkin/messages/ParserCucumberMessages.java b/gherkin/java/src/main/java/gherkin/messages/ParserCucumberMessages.java
deleted file mode 100644
index 77a21cf7e6..0000000000
--- a/gherkin/java/src/main/java/gherkin/messages/ParserCucumberMessages.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package gherkin.messages;
-
-import gherkin.GherkinDocumentBuilder;
-import gherkin.Parser;
-import gherkin.ParserException;
-import gherkin.TokenMatcher;
-import gherkin.pickles.PickleCompiler;
-import io.cucumber.messages.Messages.Attachment;
-import io.cucumber.messages.Messages.GherkinDocument;
-import io.cucumber.messages.Messages.Location;
-import io.cucumber.messages.Messages.Pickle;
-import io.cucumber.messages.Messages.Source;
-import io.cucumber.messages.Messages.SourceReference;
-import io.cucumber.messages.Messages.Wrapper;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class ParserCucumberMessages implements CucumberMessages {
-    private final Parser<GherkinDocument.Builder> parser = new Parser<>(new GherkinDocumentBuilder());
-    private final TokenMatcher matcher = new TokenMatcher();
-    private final PickleCompiler pickleCompiler = new PickleCompiler();
-
-    private final List<String> paths;
-    private final boolean includeSource;
-    private final boolean includeGherkinDocument;
-    private final boolean includePickles;
-
-    public ParserCucumberMessages(List<String> paths, boolean includeSource, boolean includeGherkinDocument, boolean includePickles) {
-        this.paths = paths;
-        this.includeSource = includeSource;
-        this.includeGherkinDocument = includeGherkinDocument;
-        this.includePickles = includePickles;
-    }
-
-    @Override
-    public List<Wrapper> messages() {
-        List<Wrapper> messages = new ArrayList<>();
-
-        FileSources fileSources = new FileSources(paths);
-        for (Source source : fileSources) {
-            if (includeSource) {
-                messages.add(Wrapper.newBuilder().setSource(source).build());
-            }
-            try {
-                GherkinDocument gherkinDocument = null;
-
-                if (includeGherkinDocument) {
-                    gherkinDocument = buildGherkinDocument(source);
-                    messages.add(Wrapper.newBuilder().setGherkinDocument(gherkinDocument).build());
-                }
-                if (includePickles) {
-                    if (gherkinDocument == null) {
-                        gherkinDocument = buildGherkinDocument(source);
-                    }
-                    List<Pickle> pickles = pickleCompiler.compile(gherkinDocument, source.getUri());
-                    for (Pickle pickle : pickles) {
-                        messages.add(Wrapper.newBuilder().setPickle(pickle).build());
-                    }
-                }
-            } catch (ParserException.CompositeParserException e) {
-                for (ParserException error : e.errors) {
-                    addErrorAttachment(messages, error, source.getUri());
-                }
-            } catch (ParserException e) {
-                addErrorAttachment(messages, e, source.getUri());
-            }
-        }
-        return messages;
-    }
-
-    private GherkinDocument buildGherkinDocument(Source source) {
-        return parser.parse(source.getData(), matcher).setUri(source.getUri()).build();
-    }
-
-    private void addErrorAttachment(List<Wrapper> messages, ParserException e, String uri) {
-        Attachment attachment = Attachment.newBuilder()
-                // TODO: Set media here?
-                .setSource(SourceReference.newBuilder()
-                        .setUri(uri)
-                        .setLocation(
-                                Location.newBuilder()
-                                        .setLine(e.location.getLine())
-                                        .setColumn(e.location.getColumn())
-                                        .build()
-                        )
-                        .build())
-                .setData(e.getMessage())
-                .build();
-        messages.add(Wrapper.newBuilder().setAttachment(attachment).build());
-    }
-}
diff --git a/gherkin/java/src/main/java/gherkin/pickles/PickleCompiler.java b/gherkin/java/src/main/java/gherkin/pickles/PickleCompiler.java
deleted file mode 100644
index 6f732c6f48..0000000000
--- a/gherkin/java/src/main/java/gherkin/pickles/PickleCompiler.java
+++ /dev/null
@@ -1,236 +0,0 @@
-package gherkin.pickles;
-
-import gherkin.SymbolCounter;
-import io.cucumber.messages.Messages.DataTable;
-import io.cucumber.messages.Messages.DocString;
-import io.cucumber.messages.Messages.Examples;
-import io.cucumber.messages.Messages.Feature;
-import io.cucumber.messages.Messages.FeatureChild;
-import io.cucumber.messages.Messages.GherkinDocument;
-import io.cucumber.messages.Messages.Location;
-import io.cucumber.messages.Messages.Pickle;
-import io.cucumber.messages.Messages.PickleDocString;
-import io.cucumber.messages.Messages.PickleStep;
-import io.cucumber.messages.Messages.PickleTable;
-import io.cucumber.messages.Messages.PickleTableCell;
-import io.cucumber.messages.Messages.PickleTableRow;
-import io.cucumber.messages.Messages.PickleTag;
-import io.cucumber.messages.Messages.Rule;
-import io.cucumber.messages.Messages.RuleChild;
-import io.cucumber.messages.Messages.Scenario;
-import io.cucumber.messages.Messages.Step;
-import io.cucumber.messages.Messages.TableCell;
-import io.cucumber.messages.Messages.TableRow;
-import io.cucumber.messages.Messages.Tag;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Objects;
-
-import static java.util.Collections.unmodifiableList;
-
-public class PickleCompiler {
-
-    public List<Pickle> compile(GherkinDocument gherkinDocument, String uri) {
-        List<Pickle> pickles = new ArrayList<>();
-        Feature feature = gherkinDocument.getFeature();
-        if (feature == null) {
-            return pickles;
-        }
-
-        String language = feature.getLanguage();
-
-        compileFeature(pickles, feature, language, uri);
-        return pickles;
-    }
-
-    private void compileFeature(List<Pickle> pickles, Feature feature, String language, String uri) {
-        List<Tag> tags = feature.getTagsList();
-        List<PickleStep> backgroundSteps = new ArrayList<>();
-        for (FeatureChild child : feature.getChildrenList()) {
-            if (child.hasBackground()) {
-                backgroundSteps.addAll(pickleSteps(child.getBackground().getStepsList()));
-            } else if (child.hasRule()) {
-                compileRule(pickles, child.getRule(), tags, backgroundSteps, language, uri);
-            } else {
-                Scenario scenario = child.getScenario();
-                if (scenario.getExamplesList().isEmpty()) {
-                    compileScenario(pickles, scenario, tags, backgroundSteps, language, uri);
-                } else {
-                    compileScenarioOutline(pickles, scenario, tags, backgroundSteps, language, uri);
-                }
-            }
-        }
-    }
-
-    private void compileRule(List<Pickle> pickles, Rule rule, List<Tag> tags, List<PickleStep> featureBackgroundSteps, String language, String uri) {
-        List<PickleStep> backgroundSteps = new ArrayList<>(featureBackgroundSteps);
-        for (RuleChild child : rule.getChildrenList()) {
-            if (child.hasBackground()) {
-                backgroundSteps.addAll(pickleSteps(child.getBackground().getStepsList()));
-            } else {
-                Scenario scenario = child.getScenario();
-                if (scenario.getExamplesList().isEmpty()) {
-                    compileScenario(pickles, scenario, tags, backgroundSteps, language, uri);
-                } else {
-                    compileScenarioOutline(pickles, scenario, tags, backgroundSteps, language, uri);
-                }
-            }
-        }
-    }
-
-    private void compileScenario(List<Pickle> pickles, Scenario scenario, List<Tag> parentTags, List<PickleStep> backgroundSteps, String language, String uri) {
-        List<PickleStep> steps = new ArrayList<>();
-        if (!scenario.getStepsList().isEmpty())
-            steps.addAll(backgroundSteps);
-
-        steps.addAll(pickleSteps(scenario.getStepsList()));
-
-        List<Tag> scenarioTags = new ArrayList<>();
-        scenarioTags.addAll(parentTags);
-        scenarioTags.addAll(scenario.getTagsList());
-
-        List<PickleTag> pickleTags = pickleTags(scenarioTags);
-
-        Pickle pickle = Pickle.newBuilder()
-                .setUri(uri)
-                .setName(scenario.getName())
-                .setLanguage(language)
-                .addAllSteps(steps)
-                .addAllTags(pickleTags)
-                .addLocations(scenario.getLocation())
-                .build();
-        pickles.add(pickle);
-    }
-
-    private void compileScenarioOutline(List<Pickle> pickles, Scenario scenario, List<Tag> featureTags, List<PickleStep> backgroundSteps, String language, String uri) {
-        for (final Examples examples : scenario.getExamplesList()) {
-            if (examples.getTableHeader() == null) continue;
-            List<TableCell> variableCells = examples.getTableHeader().getCellsList();
-            for (final TableRow values : examples.getTableBodyList()) {
-                List<TableCell> valueCells = values.getCellsList();
-
-                List<PickleStep> steps = new ArrayList<>();
-
-                if (!scenario.getStepsList().isEmpty())
-                    steps.addAll(backgroundSteps);
-
-                List<Tag> tags = new ArrayList<>();
-                tags.addAll(featureTags);
-                tags.addAll(scenario.getTagsList());
-                tags.addAll(examples.getTagsList());
-
-                for (Step scenarioOutlineStep : scenario.getStepsList()) {
-                    PickleStep.Builder pickleStepBuilder = pickleStepBuilder(scenarioOutlineStep, variableCells, valueCells);
-
-                    pickleStepBuilder.addLocations(values.getLocation());
-
-                    steps.add(pickleStepBuilder.build());
-                }
-
-                Pickle pickle = Pickle.newBuilder()
-                        .setUri(uri)
-                        .setName(interpolate(scenario.getName(), variableCells, valueCells))
-                        .setLanguage(language)
-                        .addAllSteps(steps)
-                        .addAllTags(pickleTags(tags))
-                        .addLocations(scenario.getLocation())
-                        .addLocations(values.getLocation())
-                        .build();
-
-                pickles.add(pickle);
-            }
-        }
-    }
-
-    private PickleTable pickleDataTable(DataTable dataTable, List<TableCell> variableCells, List<TableCell> valueCells) {
-        List<TableRow> rows = dataTable.getRowsList();
-        List<PickleTableRow> newRows = new ArrayList<>(rows.size());
-        for (TableRow row : rows) {
-            List<TableCell> cells = row.getCellsList();
-            List<PickleTableCell> newCells = new ArrayList<>();
-            for (TableCell cell : cells) {
-                newCells.add(
-                        PickleTableCell.newBuilder()
-                                .setLocation(cell.getLocation())
-                                .setValue(interpolate(cell.getValue(), variableCells, valueCells))
-                                .build()
-                );
-            }
-            newRows.add(PickleTableRow.newBuilder().addAllCells(newCells).build());
-        }
-        return PickleTable.newBuilder().addAllRows(newRows).build();
-    }
-
-    private PickleDocString pickleDocString(DocString docString, List<TableCell> variableCells, List<TableCell> valueCells) {
-        return PickleDocString.newBuilder()
-                .setLocation(docString.getLocation())
-                .setContent(interpolate(docString.getContent(), variableCells, valueCells))
-                .setContentType(Objects.requireNonNull(docString.getContentType() == null ? null : interpolate(docString.getContentType(), variableCells, valueCells)))
-                .build();
-    }
-
-    private PickleStep.Builder pickleStepBuilder(Step step, List<TableCell> variableCells, List<TableCell> valueCells) {
-        String stepText = interpolate(step.getText(), variableCells, valueCells);
-
-        PickleStep.Builder pickleStepBuilder = PickleStep.newBuilder()
-                .setText(stepText)
-                .addLocations(pickleStepLocation(step));
-
-        if (step.hasDataTable()) {
-            pickleStepBuilder.setDataTable(pickleDataTable(step.getDataTable(), variableCells, valueCells));
-        }
-
-        if (step.hasDocString()) {
-            pickleStepBuilder.setDocString(pickleDocString(step.getDocString(), variableCells, valueCells));
-        }
-        return pickleStepBuilder;
-    }
-
-    private List<PickleStep> pickleSteps(List<Step> steps) {
-        List<PickleStep> result = new ArrayList<>();
-        for (Step step : steps) {
-            result.add(pickleStep(step));
-        }
-        return unmodifiableList(result);
-    }
-
-    private PickleStep pickleStep(Step step) {
-        PickleStep.Builder pickleStepBuilder = pickleStepBuilder(step, Collections.<TableCell>emptyList(), Collections.<TableCell>emptyList());
-        return pickleStepBuilder.build();
-    }
-
-    private String interpolate(String name, List<TableCell> variableCells, List<TableCell> valueCells) {
-        int col = 0;
-        for (TableCell variableCell : variableCells) {
-            TableCell valueCell = valueCells.get(col++);
-            String header = variableCell.getValue();
-            String value = valueCell.getValue();
-            name = name.replace("<" + header + ">", value);
-        }
-        return name;
-    }
-
-    private Location pickleStepLocation(Step step) {
-        return Location.newBuilder()
-                .setLine(step.getLocation().getLine())
-                .setColumn(step.getLocation().getColumn() + (step.getKeyword() != null ? SymbolCounter.countSymbols(step.getKeyword()) : 0))
-                .build();
-    }
-
-    private List<PickleTag> pickleTags(List<Tag> tags) {
-        List<PickleTag> result = new ArrayList<>();
-        for (Tag tag : tags) {
-            result.add(pickleTag(tag));
-        }
-        return result;
-    }
-
-    private PickleTag pickleTag(Tag tag) {
-        return PickleTag.newBuilder()
-                .setLocation(tag.getLocation())
-                .setName(tag.getName())
-                .build();
-    }
-}
diff --git a/gherkin/java/src/main/java/gherkin/messages/CucumberMessages.java b/gherkin/java/src/main/java/io/cucumber/gherkin/CucumberMessages.java
similarity index 82%
rename from gherkin/java/src/main/java/gherkin/messages/CucumberMessages.java
rename to gherkin/java/src/main/java/io/cucumber/gherkin/CucumberMessages.java
index bc42432eb8..0ab8d96f86 100644
--- a/gherkin/java/src/main/java/gherkin/messages/CucumberMessages.java
+++ b/gherkin/java/src/main/java/io/cucumber/gherkin/CucumberMessages.java
@@ -1,4 +1,4 @@
-package gherkin.messages;
+package io.cucumber.gherkin;
 
 import io.cucumber.messages.Messages;
 
diff --git a/gherkin/java/src/main/java/gherkin/GherkinException.java b/gherkin/java/src/main/java/io/cucumber/gherkin/GherkinException.java
similarity index 81%
rename from gherkin/java/src/main/java/gherkin/GherkinException.java
rename to gherkin/java/src/main/java/io/cucumber/gherkin/GherkinException.java
index 2b66cb6aad..06f8d7aee3 100644
--- a/gherkin/java/src/main/java/gherkin/GherkinException.java
+++ b/gherkin/java/src/main/java/io/cucumber/gherkin/GherkinException.java
@@ -1,6 +1,4 @@
-package gherkin;
-
-import java.io.IOException;
+package io.cucumber.gherkin;
 
 public class GherkinException extends RuntimeException {
     public GherkinException(String message) {
diff --git a/gherkin/java/src/main/java/gherkin/cli/Main.java b/gherkin/java/src/main/java/io/cucumber/gherkin/Main.java
similarity index 64%
rename from gherkin/java/src/main/java/gherkin/cli/Main.java
rename to gherkin/java/src/main/java/io/cucumber/gherkin/Main.java
index f864f1193c..a5ed230540 100644
--- a/gherkin/java/src/main/java/gherkin/cli/Main.java
+++ b/gherkin/java/src/main/java/io/cucumber/gherkin/Main.java
@@ -1,9 +1,5 @@
-package gherkin.cli;
+package io.cucumber.gherkin;
 
-import gherkin.messages.CucumberMessages;
-import gherkin.messages.ParserCucumberMessages;
-import gherkin.messages.ProtobufCucumberMessages;
-import gherkin.messages.SubprocessCucumberMessages;
 import io.cucumber.messages.Messages.Wrapper;
 import io.cucumber.messages.com.google.protobuf.util.JsonFormat;
 import io.cucumber.messages.com.google.protobuf.util.JsonFormat.Printer;
@@ -22,26 +18,26 @@ public static void main(String[] argv) throws IOException {
         List<String> args = new ArrayList<>(asList(argv));
         List<String> paths = new ArrayList<>();
 
-        boolean printSource = true;
-        boolean printAst = true;
-        boolean printPickles = true;
-        boolean protobuf = false;
+        boolean includeSource = true;
+        boolean includeAst = true;
+        boolean includePickles = true;
+        boolean json = false;
 
         while (!args.isEmpty()) {
             String arg = args.remove(0).trim();
 
             switch (arg) {
                 case "--no-source":
-                    printSource = false;
+                    includeSource = false;
                     break;
                 case "--no-ast":
-                    printAst = false;
+                    includeAst = false;
                     break;
                 case "--no-pickles":
-                    printPickles = false;
+                    includePickles = false;
                     break;
-                case "--protobuf":
-                    protobuf = true;
+                case "--json":
+                    json = true;
                     break;
                 default:
                     paths.add(arg);
@@ -51,13 +47,10 @@ public static void main(String[] argv) throws IOException {
         String gherkinExecutable = System.getenv("GHERKIN_EXECUTABLE");
         if (paths.isEmpty()) {
             CucumberMessages cucumberMessages = new ProtobufCucumberMessages(System.in);
-            printMessages(printer, protobuf, cucumberMessages);
+            printMessages(printer, json, cucumberMessages);
         } else if (gherkinExecutable != null) {
-            CucumberMessages cucumberMessages = new SubprocessCucumberMessages(gherkinExecutable, paths, printSource, printAst, printPickles);
-            printMessages(printer, protobuf, cucumberMessages);
-        } else {
-            CucumberMessages cucumberMessages = new ParserCucumberMessages(paths, printSource, printAst, printPickles);
-            printMessages(printer, protobuf, cucumberMessages);
+            CucumberMessages cucumberMessages = new SubprocessCucumberMessages(gherkinExecutable, paths, includeSource, includeAst, includePickles);
+            printMessages(printer, json, cucumberMessages);
         }
     }
 
diff --git a/gherkin/java/src/main/java/gherkin/messages/ProtobufCucumberMessages.java b/gherkin/java/src/main/java/io/cucumber/gherkin/ProtobufCucumberMessages.java
similarity index 92%
rename from gherkin/java/src/main/java/gherkin/messages/ProtobufCucumberMessages.java
rename to gherkin/java/src/main/java/io/cucumber/gherkin/ProtobufCucumberMessages.java
index 72e17ff773..a5d76b612a 100644
--- a/gherkin/java/src/main/java/gherkin/messages/ProtobufCucumberMessages.java
+++ b/gherkin/java/src/main/java/io/cucumber/gherkin/ProtobufCucumberMessages.java
@@ -1,6 +1,5 @@
-package gherkin.messages;
+package io.cucumber.gherkin;
 
-import gherkin.GherkinException;
 import io.cucumber.messages.Messages.Wrapper;
 
 import java.io.IOException;
diff --git a/gherkin/java/src/main/java/gherkin/cli/Stdio.java b/gherkin/java/src/main/java/io/cucumber/gherkin/Stdio.java
similarity index 93%
rename from gherkin/java/src/main/java/gherkin/cli/Stdio.java
rename to gherkin/java/src/main/java/io/cucumber/gherkin/Stdio.java
index 5780720ac2..002ec2a463 100644
--- a/gherkin/java/src/main/java/gherkin/cli/Stdio.java
+++ b/gherkin/java/src/main/java/io/cucumber/gherkin/Stdio.java
@@ -1,4 +1,4 @@
-package gherkin.cli;
+package io.cucumber.gherkin;
 
 import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
diff --git a/gherkin/java/src/main/java/gherkin/messages/SubprocessCucumberMessages.java b/gherkin/java/src/main/java/io/cucumber/gherkin/SubprocessCucumberMessages.java
similarity index 74%
rename from gherkin/java/src/main/java/gherkin/messages/SubprocessCucumberMessages.java
rename to gherkin/java/src/main/java/io/cucumber/gherkin/SubprocessCucumberMessages.java
index d6ed70faf5..b6d418d6d0 100644
--- a/gherkin/java/src/main/java/gherkin/messages/SubprocessCucumberMessages.java
+++ b/gherkin/java/src/main/java/io/cucumber/gherkin/SubprocessCucumberMessages.java
@@ -1,6 +1,5 @@
-package gherkin.messages;
+package io.cucumber.gherkin;
 
-import gherkin.GherkinException;
 import io.cucumber.messages.Messages.Wrapper;
 
 import java.io.File;
@@ -16,16 +15,16 @@
 public class SubprocessCucumberMessages implements CucumberMessages {
     private final String cucumberExecutable;
     private final List<String> paths;
-    private final boolean printSource;
-    private final boolean printAst;
-    private final boolean printPickles;
+    private final boolean includeSource;
+    private final boolean includeAst;
+    private final boolean includePickles;
 
-    public SubprocessCucumberMessages(String gherkinExecutable, List<String> paths, boolean printSource, boolean printAst, boolean printPickles) {
+    public SubprocessCucumberMessages(String gherkinExecutable, List<String> paths, boolean includeSource, boolean includeAst, boolean includePickles) {
         this.cucumberExecutable = gherkinExecutable;
         this.paths = paths;
-        this.printSource = printSource;
-        this.printAst = printAst;
-        this.printPickles = printPickles;
+        this.includeSource = includeSource;
+        this.includeAst = includeAst;
+        this.includePickles = includePickles;
     }
 
     @Override
@@ -33,10 +32,9 @@ public List<Wrapper> messages() {
         try {
             List<String> args = new ArrayList<>();
             args.add(cucumberExecutable);
-            args.add("--protobuf");
-            if(!printSource) args.add("--no-source");
-            if(!printAst) args.add("--no-ast");
-            if(!printPickles) args.add("--no-pickles");
+            if (!includeSource) args.add("--no-source");
+            if (!includeAst) args.add("--no-ast");
+            if (!includePickles) args.add("--no-pickles");
             args.addAll(paths);
             ProcessBuilder processBuilder = new ProcessBuilder().command(args);
             File stderrFile = File.createTempFile("gherkin-stderr-", ".log");
diff --git a/gherkin/java/src/main/protobuf/events.proto b/gherkin/java/src/main/protobuf/events.proto
deleted file mode 100644
index 964e2cef91..0000000000
--- a/gherkin/java/src/main/protobuf/events.proto
+++ /dev/null
@@ -1,36 +0,0 @@
-syntax = "proto3";
-import "gherkin_document.proto";
-import "pickle.proto";
-import "location.proto";
-package gherkin.protobuf;
-
-message AttachmentEvent {
-  SourceReference source = 1;
-  string data = 2;
-  Media media = 3;
-}
-
-message GherkinDocumentEvent {
-  GherkinDocument document = 1;
-  string uri = 2;
-}
-
-message Media {
-  string encoding = 1;
-  string type = 2;
-}
-
-message PickleEvent {
-  string uri = 1;
-  Pickle pickle = 2;
-}
-
-message SourceEvent {
-  string uri = 1;
-  string data = 2;
-}
-
-message SourceReference {
-  string uri = 1;
-  Location start = 2;
-}
diff --git a/gherkin/java/src/main/protobuf/gherkin_document.proto b/gherkin/java/src/main/protobuf/gherkin_document.proto
deleted file mode 100644
index c16b2a21db..0000000000
--- a/gherkin/java/src/main/protobuf/gherkin_document.proto
+++ /dev/null
@@ -1,111 +0,0 @@
-syntax = "proto3";
-import "google/protobuf/any.proto";
-import "location.proto";
-package gherkin.protobuf;
-
-message Background {
-  Location location = 1;
-  string type = 2;
-  string keyword = 3;
-  string name = 4;
-  string description = 5;
-  repeated Step steps = 6;
-}
-
-message Comment {
-  Location location = 1;
-  string type = 2;
-  string text = 3;
-}
-
-message DataTable {
-  Location location = 1;
-  string type = 2;
-  repeated TableRow rows = 3;
-}
-
-message DocString {
-  Location location = 1;
-  string type = 2;
-  string content_type = 3;
-  string content = 4;
-  string delimiter = 5;
-}
-
-message Example {
-  Location location = 1;
-  string type = 2;
-  repeated Tag tags = 3;
-  string keyword = 4;
-  string name = 5;
-  string description = 6;
-  TableRow table_header = 7;
-  repeated TableRow table_body = 8;
-}
-
-message Feature {
-  Location location = 1;
-  string type = 2;
-  repeated Tag tags = 3;
-  string language = 4;
-  string keyword = 5;
-  string name = 6;
-  string description = 7;
-  repeated google.protobuf.Any children = 8;
-}
-
-message GherkinDocument {
-  string type = 1;
-  Feature feature = 2;
-  repeated Comment comments = 3;
-}
-
-message Scenario {
-  Location location = 1;
-  string type = 2;
-  repeated Tag tags = 3;
-  string keyword = 4;
-  string name = 5;
-  string description = 6;
-  repeated Step steps = 7;
-}
-
-message ScenarioOutline {
-  Location location = 1;
-  string type = 2;
-  repeated Tag tags = 3;
-  string keyword = 4;
-  string name = 5;
-  string description = 6;
-  repeated Step steps = 7;
-  repeated Example examples = 8;
-}
-
-message Step {
-  Location location = 1;
-  string type = 2;
-  string keyword = 3;
-  string text = 4;
-  oneof argument {
-    DocString doc_string = 5;
-    DataTable data_table = 6;
-  }
-}
-
-message TableCell {
-  Location location = 1;
-  string type = 2;
-  string value = 3;
-}
-
-message TableRow {
-  Location location = 1;
-  string type = 2;
-  repeated TableCell cells = 3;
-}
-
-message Tag {
-  Location location = 1;
-  string type = 2;
-  string name = 3;
-}
diff --git a/gherkin/java/src/main/protobuf/google/protobuf/any.proto b/gherkin/java/src/main/protobuf/google/protobuf/any.proto
deleted file mode 100644
index 4932942558..0000000000
--- a/gherkin/java/src/main/protobuf/google/protobuf/any.proto
+++ /dev/null
@@ -1,154 +0,0 @@
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 Google Inc.  All rights reserved.
-// https://developers.google.com/protocol-buffers/
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-syntax = "proto3";
-
-package google.protobuf;
-
-option csharp_namespace = "Google.Protobuf.WellKnownTypes";
-option go_package = "github.com/golang/protobuf/ptypes/any";
-option java_package = "com.google.protobuf";
-option java_outer_classname = "AnyProto";
-option java_multiple_files = true;
-option objc_class_prefix = "GPB";
-
-// `Any` contains an arbitrary serialized protocol buffer message along with a
-// URL that describes the type of the serialized message.
-//
-// Protobuf library provides support to pack/unpack Any values in the form
-// of utility functions or additional generated methods of the Any type.
-//
-// Example 1: Pack and unpack a message in C++.
-//
-//     Foo foo = ...;
-//     Any any;
-//     any.PackFrom(foo);
-//     ...
-//     if (any.UnpackTo(&foo)) {
-//       ...
-//     }
-//
-// Example 2: Pack and unpack a message in Java.
-//
-//     Foo foo = ...;
-//     Any any = Any.pack(foo);
-//     ...
-//     if (any.is(Foo.class)) {
-//       foo = any.unpack(Foo.class);
-//     }
-//
-//  Example 3: Pack and unpack a message in Python.
-//
-//     foo = Foo(...)
-//     any = Any()
-//     any.Pack(foo)
-//     ...
-//     if any.Is(Foo.DESCRIPTOR):
-//       any.Unpack(foo)
-//       ...
-//
-//  Example 4: Pack and unpack a message in Go
-//
-//      foo := &pb.Foo{...}
-//      any, err := ptypes.MarshalAny(foo)
-//      ...
-//      foo := &pb.Foo{}
-//      if err := ptypes.UnmarshalAny(any, foo); err != nil {
-//        ...
-//      }
-//
-// The pack methods provided by protobuf library will by default use
-// 'type.googleapis.com/full.type.name' as the type URL and the unpack
-// methods only use the fully qualified type name after the last '/'
-// in the type URL, for example "foo.bar.com/x/y.z" will yield type
-// name "y.z".
-//
-//
-// JSON
-// ====
-// The JSON representation of an `Any` value uses the regular
-// representation of the deserialized, embedded message, with an
-// additional field `@type` which contains the type URL. Example:
-//
-//     package google.profile;
-//     message Person {
-//       string first_name = 1;
-//       string last_name = 2;
-//     }
-//
-//     {
-//       "@type": "type.googleapis.com/google.profile.Person",
-//       "firstName": <string>,
-//       "lastName": <string>
-//     }
-//
-// If the embedded message type is well-known and has a custom JSON
-// representation, that representation will be embedded adding a field
-// `value` which holds the custom JSON in addition to the `@type`
-// field. Example (for message [google.protobuf.Duration][]):
-//
-//     {
-//       "@type": "type.googleapis.com/google.protobuf.Duration",
-//       "value": "1.212s"
-//     }
-//
-message Any {
-  // A URL/resource name that uniquely identifies the type of the serialized
-  // protocol buffer message. The last segment of the URL's path must represent
-  // the fully qualified name of the type (as in
-  // `path/google.protobuf.Duration`). The name should be in a canonical form
-  // (e.g., leading "." is not accepted).
-  //
-  // In practice, teams usually precompile into the binary all types that they
-  // expect it to use in the context of Any. However, for URLs which use the
-  // scheme `http`, `https`, or no scheme, one can optionally set up a type
-  // server that maps type URLs to message definitions as follows:
-  //
-  // * If no scheme is provided, `https` is assumed.
-  // * An HTTP GET on the URL must yield a [google.protobuf.Type][]
-  //   value in binary format, or produce an error.
-  // * Applications are allowed to cache lookup results based on the
-  //   URL, or have them precompiled into a binary to avoid any
-  //   lookup. Therefore, binary compatibility needs to be preserved
-  //   on changes to types. (Use versioned type names to manage
-  //   breaking changes.)
-  //
-  // Note: this functionality is not currently available in the official
-  // protobuf release, and it is not used for type URLs beginning with
-  // type.googleapis.com.
-  //
-  // Schemes other than `http`, `https` (or the empty scheme) might be
-  // used with implementation specific semantics.
-  //
-  string type_url = 1;
-
-  // Must be a valid serialized protocol buffer of the above specified type.
-  bytes value = 2;
-}
diff --git a/gherkin/java/src/main/protobuf/location.proto b/gherkin/java/src/main/protobuf/location.proto
deleted file mode 100644
index 8cc7bed148..0000000000
--- a/gherkin/java/src/main/protobuf/location.proto
+++ /dev/null
@@ -1,7 +0,0 @@
-syntax = "proto3";
-package gherkin.protobuf;
-
-message Location {
-  uint64 line = 1;
-  uint64 column = 2;
-}
diff --git a/gherkin/java/src/main/protobuf/pickle.proto b/gherkin/java/src/main/protobuf/pickle.proto
deleted file mode 100644
index dc0093dd00..0000000000
--- a/gherkin/java/src/main/protobuf/pickle.proto
+++ /dev/null
@@ -1,42 +0,0 @@
-syntax = "proto3";
-import "google/protobuf/any.proto";
-import "location.proto";
-package gherkin.protobuf;
-
-message Pickle {
-  string name = 1;
-  string language = 2;
-  repeated PickleStep steps = 3;
-  repeated PickleTag tags = 4;
-  repeated Location locations = 5;
-}
-
-message PickleDocString {
-  Location location = 1;
-  string contentType = 2;
-  string content = 3;
-}
-
-message PickleStep {
-  string text = 1;
-  repeated google.protobuf.Any arguments = 2;
-  repeated Location locations = 3;
-}
-
-message PickleTable {
-  repeated PickleTableRow rows = 1;
-}
-
-message PickleTableCell {
-  Location location = 1;
-  string value = 2;
-}
-
-message PickleTableRow {
-  repeated PickleTableCell cells = 1;
-}
-
-message PickleTag {
-  Location location = 1;
-  string name = 2;
-}
diff --git a/gherkin/java/src/main/resources/gherkin/gherkin-languages.json b/gherkin/java/src/main/resources/gherkin/gherkin-languages.json
deleted file mode 100644
index 477c700501..0000000000
--- a/gherkin/java/src/main/resources/gherkin/gherkin-languages.json
+++ /dev/null
@@ -1,3509 +0,0 @@
-{
-  "af": {
-    "and": [
-      "* ",
-      "En "
-    ],
-    "background": [
-      "Agtergrond"
-    ],
-    "but": [
-      "* ",
-      "Maar "
-    ],
-    "examples": [
-      "Voorbeelde"
-    ],
-    "feature": [
-      "Funksie",
-      "Besigheid Behoefte",
-      "Vermoë"
-    ],
-    "given": [
-      "* ",
-      "Gegewe "
-    ],
-    "name": "Afrikaans",
-    "native": "Afrikaans",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Voorbeeld",
-      "Situasie"
-    ],
-    "scenarioOutline": [
-      "Situasie Uiteensetting"
-    ],
-    "then": [
-      "* ",
-      "Dan "
-    ],
-    "when": [
-      "* ",
-      "Wanneer "
-    ]
-  },
-  "am": {
-    "and": [
-      "* ",
-      "Եվ "
-    ],
-    "background": [
-      "Կոնտեքստ"
-    ],
-    "but": [
-      "* ",
-      "Բայց "
-    ],
-    "examples": [
-      "Օրինակներ"
-    ],
-    "feature": [
-      "Ֆունկցիոնալություն",
-      "Հատկություն"
-    ],
-    "given": [
-      "* ",
-      "Դիցուք "
-    ],
-    "name": "Armenian",
-    "native": "հայերեն",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Օրինակ",
-      "Սցենար"
-    ],
-    "scenarioOutline": [
-      "Սցենարի կառուցվացքը"
-    ],
-    "then": [
-      "* ",
-      "Ապա "
-    ],
-    "when": [
-      "* ",
-      "Եթե ",
-      "Երբ "
-    ]
-  },
-  "an": {
-    "and": [
-      "* ",
-      "Y ",
-      "E "
-    ],
-    "background": [
-      "Antecedents"
-    ],
-    "but": [
-      "* ",
-      "Pero "
-    ],
-    "examples": [
-      "Eixemplos"
-    ],
-    "feature": [
-      "Caracteristica"
-    ],
-    "given": [
-      "* ",
-      "Dau ",
-      "Dada ",
-      "Daus ",
-      "Dadas "
-    ],
-    "name": "Aragonese",
-    "native": "Aragonés",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Eixemplo",
-      "Caso"
-    ],
-    "scenarioOutline": [
-      "Esquema del caso"
-    ],
-    "then": [
-      "* ",
-      "Alavez ",
-      "Allora ",
-      "Antonces "
-    ],
-    "when": [
-      "* ",
-      "Cuan "
-    ]
-  },
-  "ar": {
-    "and": [
-      "* ",
-      "و "
-    ],
-    "background": [
-      "الخلفية"
-    ],
-    "but": [
-      "* ",
-      "لكن "
-    ],
-    "examples": [
-      "امثلة"
-    ],
-    "feature": [
-      "خاصية"
-    ],
-    "given": [
-      "* ",
-      "بفرض "
-    ],
-    "name": "Arabic",
-    "native": "العربية",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "مثال",
-      "سيناريو"
-    ],
-    "scenarioOutline": [
-      "سيناريو مخطط"
-    ],
-    "then": [
-      "* ",
-      "اذاً ",
-      "ثم "
-    ],
-    "when": [
-      "* ",
-      "متى ",
-      "عندما "
-    ]
-  },
-  "ast": {
-    "and": [
-      "* ",
-      "Y ",
-      "Ya "
-    ],
-    "background": [
-      "Antecedentes"
-    ],
-    "but": [
-      "* ",
-      "Peru "
-    ],
-    "examples": [
-      "Exemplos"
-    ],
-    "feature": [
-      "Carauterística"
-    ],
-    "given": [
-      "* ",
-      "Dáu ",
-      "Dada ",
-      "Daos ",
-      "Daes "
-    ],
-    "name": "Asturian",
-    "native": "asturianu",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Exemplo",
-      "Casu"
-    ],
-    "scenarioOutline": [
-      "Esbozu del casu"
-    ],
-    "then": [
-      "* ",
-      "Entós "
-    ],
-    "when": [
-      "* ",
-      "Cuando "
-    ]
-  },
-  "az": {
-    "and": [
-      "* ",
-      "Və ",
-      "Həm "
-    ],
-    "background": [
-      "Keçmiş",
-      "Kontekst"
-    ],
-    "but": [
-      "* ",
-      "Amma ",
-      "Ancaq "
-    ],
-    "examples": [
-      "Nümunələr"
-    ],
-    "feature": [
-      "Özəllik"
-    ],
-    "given": [
-      "* ",
-      "Tutaq ki ",
-      "Verilir "
-    ],
-    "name": "Azerbaijani",
-    "native": "Azərbaycanca",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Nümunələr",
-      "Ssenari"
-    ],
-    "scenarioOutline": [
-      "Ssenarinin strukturu"
-    ],
-    "then": [
-      "* ",
-      "O halda "
-    ],
-    "when": [
-      "* ",
-      "Əgər ",
-      "Nə vaxt ki "
-    ]
-  },
-  "bg": {
-    "and": [
-      "* ",
-      "И "
-    ],
-    "background": [
-      "Предистория"
-    ],
-    "but": [
-      "* ",
-      "Но "
-    ],
-    "examples": [
-      "Примери"
-    ],
-    "feature": [
-      "Функционалност"
-    ],
-    "given": [
-      "* ",
-      "Дадено "
-    ],
-    "name": "Bulgarian",
-    "native": "български",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Пример",
-      "Сценарий"
-    ],
-    "scenarioOutline": [
-      "Рамка на сценарий"
-    ],
-    "then": [
-      "* ",
-      "То "
-    ],
-    "when": [
-      "* ",
-      "Когато "
-    ]
-  },
-  "bm": {
-    "and": [
-      "* ",
-      "Dan "
-    ],
-    "background": [
-      "Latar Belakang"
-    ],
-    "but": [
-      "* ",
-      "Tetapi ",
-      "Tapi "
-    ],
-    "examples": [
-      "Contoh"
-    ],
-    "feature": [
-      "Fungsi"
-    ],
-    "given": [
-      "* ",
-      "Diberi ",
-      "Bagi "
-    ],
-    "name": "Malay",
-    "native": "Bahasa Melayu",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Senario",
-      "Situasi",
-      "Keadaan"
-    ],
-    "scenarioOutline": [
-      "Kerangka Senario",
-      "Kerangka Situasi",
-      "Kerangka Keadaan",
-      "Garis Panduan Senario"
-    ],
-    "then": [
-      "* ",
-      "Maka ",
-      "Kemudian "
-    ],
-    "when": [
-      "* ",
-      "Apabila "
-    ]
-  },
-  "bs": {
-    "and": [
-      "* ",
-      "I ",
-      "A "
-    ],
-    "background": [
-      "Pozadina"
-    ],
-    "but": [
-      "* ",
-      "Ali "
-    ],
-    "examples": [
-      "Primjeri"
-    ],
-    "feature": [
-      "Karakteristika"
-    ],
-    "given": [
-      "* ",
-      "Dato "
-    ],
-    "name": "Bosnian",
-    "native": "Bosanski",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Primjer",
-      "Scenariju",
-      "Scenario"
-    ],
-    "scenarioOutline": [
-      "Scenariju-obris",
-      "Scenario-outline"
-    ],
-    "then": [
-      "* ",
-      "Zatim "
-    ],
-    "when": [
-      "* ",
-      "Kada "
-    ]
-  },
-  "ca": {
-    "and": [
-      "* ",
-      "I "
-    ],
-    "background": [
-      "Rerefons",
-      "Antecedents"
-    ],
-    "but": [
-      "* ",
-      "Però "
-    ],
-    "examples": [
-      "Exemples"
-    ],
-    "feature": [
-      "Característica",
-      "Funcionalitat"
-    ],
-    "given": [
-      "* ",
-      "Donat ",
-      "Donada ",
-      "Atès ",
-      "Atesa "
-    ],
-    "name": "Catalan",
-    "native": "català",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Exemple",
-      "Escenari"
-    ],
-    "scenarioOutline": [
-      "Esquema de l'escenari"
-    ],
-    "then": [
-      "* ",
-      "Aleshores ",
-      "Cal "
-    ],
-    "when": [
-      "* ",
-      "Quan "
-    ]
-  },
-  "cs": {
-    "and": [
-      "* ",
-      "A také ",
-      "A "
-    ],
-    "background": [
-      "Pozadí",
-      "Kontext"
-    ],
-    "but": [
-      "* ",
-      "Ale "
-    ],
-    "examples": [
-      "Příklady"
-    ],
-    "feature": [
-      "Požadavek"
-    ],
-    "given": [
-      "* ",
-      "Pokud ",
-      "Za předpokladu "
-    ],
-    "name": "Czech",
-    "native": "Česky",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Příklad",
-      "Scénář"
-    ],
-    "scenarioOutline": [
-      "Náčrt Scénáře",
-      "Osnova scénáře"
-    ],
-    "then": [
-      "* ",
-      "Pak "
-    ],
-    "when": [
-      "* ",
-      "Když "
-    ]
-  },
-  "cy-GB": {
-    "and": [
-      "* ",
-      "A "
-    ],
-    "background": [
-      "Cefndir"
-    ],
-    "but": [
-      "* ",
-      "Ond "
-    ],
-    "examples": [
-      "Enghreifftiau"
-    ],
-    "feature": [
-      "Arwedd"
-    ],
-    "given": [
-      "* ",
-      "Anrhegedig a "
-    ],
-    "name": "Welsh",
-    "native": "Cymraeg",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Enghraifft",
-      "Scenario"
-    ],
-    "scenarioOutline": [
-      "Scenario Amlinellol"
-    ],
-    "then": [
-      "* ",
-      "Yna "
-    ],
-    "when": [
-      "* ",
-      "Pryd "
-    ]
-  },
-  "da": {
-    "and": [
-      "* ",
-      "Og "
-    ],
-    "background": [
-      "Baggrund"
-    ],
-    "but": [
-      "* ",
-      "Men "
-    ],
-    "examples": [
-      "Eksempler"
-    ],
-    "feature": [
-      "Egenskab"
-    ],
-    "given": [
-      "* ",
-      "Givet "
-    ],
-    "name": "Danish",
-    "native": "dansk",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Eksempel",
-      "Scenarie"
-    ],
-    "scenarioOutline": [
-      "Abstrakt Scenario"
-    ],
-    "then": [
-      "* ",
-      "Så "
-    ],
-    "when": [
-      "* ",
-      "Når "
-    ]
-  },
-  "de": {
-    "and": [
-      "* ",
-      "Und "
-    ],
-    "background": [
-      "Grundlage"
-    ],
-    "but": [
-      "* ",
-      "Aber "
-    ],
-    "examples": [
-      "Beispiele"
-    ],
-    "feature": [
-      "Funktionalität"
-    ],
-    "given": [
-      "* ",
-      "Angenommen ",
-      "Gegeben sei ",
-      "Gegeben seien "
-    ],
-    "name": "German",
-    "native": "Deutsch",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Beispiel",
-      "Szenario"
-    ],
-    "scenarioOutline": [
-      "Szenariogrundriss"
-    ],
-    "then": [
-      "* ",
-      "Dann "
-    ],
-    "when": [
-      "* ",
-      "Wenn "
-    ]
-  },
-  "el": {
-    "and": [
-      "* ",
-      "Και "
-    ],
-    "background": [
-      "Υπόβαθρο"
-    ],
-    "but": [
-      "* ",
-      "Αλλά "
-    ],
-    "examples": [
-      "Παραδείγματα",
-      "Σενάρια"
-    ],
-    "feature": [
-      "Δυνατότητα",
-      "Λειτουργία"
-    ],
-    "given": [
-      "* ",
-      "Δεδομένου "
-    ],
-    "name": "Greek",
-    "native": "Ελληνικά",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Παράδειγμα",
-      "Σενάριο"
-    ],
-    "scenarioOutline": [
-      "Περιγραφή Σεναρίου",
-      "Περίγραμμα Σεναρίου"
-    ],
-    "then": [
-      "* ",
-      "Τότε "
-    ],
-    "when": [
-      "* ",
-      "Όταν "
-    ]
-  },
-  "em": {
-    "and": [
-      "* ",
-      "😂"
-    ],
-    "background": [
-      "💤"
-    ],
-    "but": [
-      "* ",
-      "😔"
-    ],
-    "examples": [
-      "📓"
-    ],
-    "feature": [
-      "📚"
-    ],
-    "given": [
-      "* ",
-      "😐"
-    ],
-    "name": "Emoji",
-    "native": "😀",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "🥒",
-      "📕"
-    ],
-    "scenarioOutline": [
-      "📖"
-    ],
-    "then": [
-      "* ",
-      "🙏"
-    ],
-    "when": [
-      "* ",
-      "🎬"
-    ]
-  },
-  "en": {
-    "and": [
-      "* ",
-      "And "
-    ],
-    "background": [
-      "Background"
-    ],
-    "but": [
-      "* ",
-      "But "
-    ],
-    "examples": [
-      "Examples",
-      "Scenarios"
-    ],
-    "feature": [
-      "Feature",
-      "Business Need",
-      "Ability"
-    ],
-    "given": [
-      "* ",
-      "Given "
-    ],
-    "name": "English",
-    "native": "English",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Example",
-      "Scenario"
-    ],
-    "scenarioOutline": [
-      "Scenario Outline",
-      "Scenario Template"
-    ],
-    "then": [
-      "* ",
-      "Then "
-    ],
-    "when": [
-      "* ",
-      "When "
-    ]
-  },
-  "en-Scouse": {
-    "and": [
-      "* ",
-      "An "
-    ],
-    "background": [
-      "Dis is what went down"
-    ],
-    "but": [
-      "* ",
-      "Buh "
-    ],
-    "examples": [
-      "Examples"
-    ],
-    "feature": [
-      "Feature"
-    ],
-    "given": [
-      "* ",
-      "Givun ",
-      "Youse know when youse got "
-    ],
-    "name": "Scouse",
-    "native": "Scouse",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "The thing of it is"
-    ],
-    "scenarioOutline": [
-      "Wharrimean is"
-    ],
-    "then": [
-      "* ",
-      "Dun ",
-      "Den youse gotta "
-    ],
-    "when": [
-      "* ",
-      "Wun ",
-      "Youse know like when "
-    ]
-  },
-  "en-au": {
-    "and": [
-      "* ",
-      "Too right "
-    ],
-    "background": [
-      "First off"
-    ],
-    "but": [
-      "* ",
-      "Yeah nah "
-    ],
-    "examples": [
-      "You'll wanna"
-    ],
-    "feature": [
-      "Pretty much"
-    ],
-    "given": [
-      "* ",
-      "Y'know "
-    ],
-    "name": "Australian",
-    "native": "Australian",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Awww, look mate"
-    ],
-    "scenarioOutline": [
-      "Reckon it's like"
-    ],
-    "then": [
-      "* ",
-      "But at the end of the day I reckon "
-    ],
-    "when": [
-      "* ",
-      "It's just unbelievable "
-    ]
-  },
-  "en-lol": {
-    "and": [
-      "* ",
-      "AN "
-    ],
-    "background": [
-      "B4"
-    ],
-    "but": [
-      "* ",
-      "BUT "
-    ],
-    "examples": [
-      "EXAMPLZ"
-    ],
-    "feature": [
-      "OH HAI"
-    ],
-    "given": [
-      "* ",
-      "I CAN HAZ "
-    ],
-    "name": "LOLCAT",
-    "native": "LOLCAT",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "MISHUN"
-    ],
-    "scenarioOutline": [
-      "MISHUN SRSLY"
-    ],
-    "then": [
-      "* ",
-      "DEN "
-    ],
-    "when": [
-      "* ",
-      "WEN "
-    ]
-  },
-  "en-old": {
-    "and": [
-      "* ",
-      "Ond ",
-      "7 "
-    ],
-    "background": [
-      "Aer",
-      "Ær"
-    ],
-    "but": [
-      "* ",
-      "Ac "
-    ],
-    "examples": [
-      "Se the",
-      "Se þe",
-      "Se ðe"
-    ],
-    "feature": [
-      "Hwaet",
-      "Hwæt"
-    ],
-    "given": [
-      "* ",
-      "Thurh ",
-      "Þurh ",
-      "Ðurh "
-    ],
-    "name": "Old English",
-    "native": "Englisc",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Swa"
-    ],
-    "scenarioOutline": [
-      "Swa hwaer swa",
-      "Swa hwær swa"
-    ],
-    "then": [
-      "* ",
-      "Tha ",
-      "Þa ",
-      "Ða ",
-      "Tha the ",
-      "Þa þe ",
-      "Ða ðe "
-    ],
-    "when": [
-      "* ",
-      "Tha ",
-      "Þa ",
-      "Ða "
-    ]
-  },
-  "en-pirate": {
-    "and": [
-      "* ",
-      "Aye "
-    ],
-    "background": [
-      "Yo-ho-ho"
-    ],
-    "but": [
-      "* ",
-      "Avast! "
-    ],
-    "examples": [
-      "Dead men tell no tales"
-    ],
-    "feature": [
-      "Ahoy matey!"
-    ],
-    "given": [
-      "* ",
-      "Gangway! "
-    ],
-    "name": "Pirate",
-    "native": "Pirate",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Heave to"
-    ],
-    "scenarioOutline": [
-      "Shiver me timbers"
-    ],
-    "then": [
-      "* ",
-      "Let go and haul "
-    ],
-    "when": [
-      "* ",
-      "Blimey! "
-    ]
-  },
-  "eo": {
-    "and": [
-      "* ",
-      "Kaj "
-    ],
-    "background": [
-      "Fono"
-    ],
-    "but": [
-      "* ",
-      "Sed "
-    ],
-    "examples": [
-      "Ekzemploj"
-    ],
-    "feature": [
-      "Trajto"
-    ],
-    "given": [
-      "* ",
-      "Donitaĵo ",
-      "Komence "
-    ],
-    "name": "Esperanto",
-    "native": "Esperanto",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Ekzemplo",
-      "Scenaro",
-      "Kazo"
-    ],
-    "scenarioOutline": [
-      "Konturo de la scenaro",
-      "Skizo",
-      "Kazo-skizo"
-    ],
-    "then": [
-      "* ",
-      "Do "
-    ],
-    "when": [
-      "* ",
-      "Se "
-    ]
-  },
-  "es": {
-    "and": [
-      "* ",
-      "Y ",
-      "E "
-    ],
-    "background": [
-      "Antecedentes"
-    ],
-    "but": [
-      "* ",
-      "Pero "
-    ],
-    "examples": [
-      "Ejemplos"
-    ],
-    "feature": [
-      "Característica"
-    ],
-    "given": [
-      "* ",
-      "Dado ",
-      "Dada ",
-      "Dados ",
-      "Dadas "
-    ],
-    "name": "Spanish",
-    "native": "español",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Ejemplo",
-      "Escenario"
-    ],
-    "scenarioOutline": [
-      "Esquema del escenario"
-    ],
-    "then": [
-      "* ",
-      "Entonces "
-    ],
-    "when": [
-      "* ",
-      "Cuando "
-    ]
-  },
-  "et": {
-    "and": [
-      "* ",
-      "Ja "
-    ],
-    "background": [
-      "Taust"
-    ],
-    "but": [
-      "* ",
-      "Kuid "
-    ],
-    "examples": [
-      "Juhtumid"
-    ],
-    "feature": [
-      "Omadus"
-    ],
-    "given": [
-      "* ",
-      "Eeldades "
-    ],
-    "name": "Estonian",
-    "native": "eesti keel",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Juhtum",
-      "Stsenaarium"
-    ],
-    "scenarioOutline": [
-      "Raamstjuhtum",
-      "Raamstsenaarium"
-    ],
-    "then": [
-      "* ",
-      "Siis "
-    ],
-    "when": [
-      "* ",
-      "Kui "
-    ]
-  },
-  "fa": {
-    "and": [
-      "* ",
-      "و "
-    ],
-    "background": [
-      "زمینه"
-    ],
-    "but": [
-      "* ",
-      "اما "
-    ],
-    "examples": [
-      "نمونه ها"
-    ],
-    "feature": [
-      "وِیژگی"
-    ],
-    "given": [
-      "* ",
-      "با فرض "
-    ],
-    "name": "Persian",
-    "native": "فارسی",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "مثال",
-      "سناریو"
-    ],
-    "scenarioOutline": [
-      "الگوی سناریو"
-    ],
-    "then": [
-      "* ",
-      "آنگاه "
-    ],
-    "when": [
-      "* ",
-      "هنگامی "
-    ]
-  },
-  "fi": {
-    "and": [
-      "* ",
-      "Ja "
-    ],
-    "background": [
-      "Tausta"
-    ],
-    "but": [
-      "* ",
-      "Mutta "
-    ],
-    "examples": [
-      "Tapaukset"
-    ],
-    "feature": [
-      "Ominaisuus"
-    ],
-    "given": [
-      "* ",
-      "Oletetaan "
-    ],
-    "name": "Finnish",
-    "native": "suomi",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Tapaus"
-    ],
-    "scenarioOutline": [
-      "Tapausaihio"
-    ],
-    "then": [
-      "* ",
-      "Niin "
-    ],
-    "when": [
-      "* ",
-      "Kun "
-    ]
-  },
-  "fr": {
-    "and": [
-      "* ",
-      "Et que ",
-      "Et qu'",
-      "Et "
-    ],
-    "background": [
-      "Contexte"
-    ],
-    "but": [
-      "* ",
-      "Mais que ",
-      "Mais qu'",
-      "Mais "
-    ],
-    "examples": [
-      "Exemples"
-    ],
-    "feature": [
-      "Fonctionnalité"
-    ],
-    "given": [
-      "* ",
-      "Soit ",
-      "Etant donné que ",
-      "Etant donné qu'",
-      "Etant donné ",
-      "Etant donnée ",
-      "Etant donnés ",
-      "Etant données ",
-      "Étant donné que ",
-      "Étant donné qu'",
-      "Étant donné ",
-      "Étant donnée ",
-      "Étant donnés ",
-      "Étant données "
-    ],
-    "name": "French",
-    "native": "français",
-    "rule": [
-      "Règle"
-    ],
-    "scenario": [
-      "Exemple",
-      "Scénario"
-    ],
-    "scenarioOutline": [
-      "Plan du scénario",
-      "Plan du Scénario"
-    ],
-    "then": [
-      "* ",
-      "Alors "
-    ],
-    "when": [
-      "* ",
-      "Quand ",
-      "Lorsque ",
-      "Lorsqu'"
-    ]
-  },
-  "ga": {
-    "and": [
-      "* ",
-      "Agus"
-    ],
-    "background": [
-      "Cúlra"
-    ],
-    "but": [
-      "* ",
-      "Ach"
-    ],
-    "examples": [
-      "Samplaí"
-    ],
-    "feature": [
-      "Gné"
-    ],
-    "given": [
-      "* ",
-      "Cuir i gcás go",
-      "Cuir i gcás nach",
-      "Cuir i gcás gur",
-      "Cuir i gcás nár"
-    ],
-    "name": "Irish",
-    "native": "Gaeilge",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Sampla",
-      "Cás"
-    ],
-    "scenarioOutline": [
-      "Cás Achomair"
-    ],
-    "then": [
-      "* ",
-      "Ansin"
-    ],
-    "when": [
-      "* ",
-      "Nuair a",
-      "Nuair nach",
-      "Nuair ba",
-      "Nuair nár"
-    ]
-  },
-  "gj": {
-    "and": [
-      "* ",
-      "અને "
-    ],
-    "background": [
-      "બેકગ્રાઉન્ડ"
-    ],
-    "but": [
-      "* ",
-      "પણ "
-    ],
-    "examples": [
-      "ઉદાહરણો"
-    ],
-    "feature": [
-      "લક્ષણ",
-      "વ્યાપાર જરૂર",
-      "ક્ષમતા"
-    ],
-    "given": [
-      "* ",
-      "આપેલ છે "
-    ],
-    "name": "Gujarati",
-    "native": "ગુજરાતી",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "ઉદાહરણ",
-      "સ્થિતિ"
-    ],
-    "scenarioOutline": [
-      "પરિદ્દશ્ય રૂપરેખા",
-      "પરિદ્દશ્ય ઢાંચો"
-    ],
-    "then": [
-      "* ",
-      "પછી "
-    ],
-    "when": [
-      "* ",
-      "ક્યારે "
-    ]
-  },
-  "gl": {
-    "and": [
-      "* ",
-      "E "
-    ],
-    "background": [
-      "Contexto"
-    ],
-    "but": [
-      "* ",
-      "Mais ",
-      "Pero "
-    ],
-    "examples": [
-      "Exemplos"
-    ],
-    "feature": [
-      "Característica"
-    ],
-    "given": [
-      "* ",
-      "Dado ",
-      "Dada ",
-      "Dados ",
-      "Dadas "
-    ],
-    "name": "Galician",
-    "native": "galego",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Exemplo",
-      "Escenario"
-    ],
-    "scenarioOutline": [
-      "Esbozo do escenario"
-    ],
-    "then": [
-      "* ",
-      "Entón ",
-      "Logo "
-    ],
-    "when": [
-      "* ",
-      "Cando "
-    ]
-  },
-  "he": {
-    "and": [
-      "* ",
-      "וגם "
-    ],
-    "background": [
-      "רקע"
-    ],
-    "but": [
-      "* ",
-      "אבל "
-    ],
-    "examples": [
-      "דוגמאות"
-    ],
-    "feature": [
-      "תכונה"
-    ],
-    "given": [
-      "* ",
-      "בהינתן "
-    ],
-    "name": "Hebrew",
-    "native": "עברית",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "דוגמא",
-      "תרחיש"
-    ],
-    "scenarioOutline": [
-      "תבנית תרחיש"
-    ],
-    "then": [
-      "* ",
-      "אז ",
-      "אזי "
-    ],
-    "when": [
-      "* ",
-      "כאשר "
-    ]
-  },
-  "hi": {
-    "and": [
-      "* ",
-      "और ",
-      "तथा "
-    ],
-    "background": [
-      "पृष्ठभूमि"
-    ],
-    "but": [
-      "* ",
-      "पर ",
-      "परन्तु ",
-      "किन्तु "
-    ],
-    "examples": [
-      "उदाहरण"
-    ],
-    "feature": [
-      "रूप लेख"
-    ],
-    "given": [
-      "* ",
-      "अगर ",
-      "यदि ",
-      "चूंकि "
-    ],
-    "name": "Hindi",
-    "native": "हिंदी",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "परिदृश्य"
-    ],
-    "scenarioOutline": [
-      "परिदृश्य रूपरेखा"
-    ],
-    "then": [
-      "* ",
-      "तब ",
-      "तदा "
-    ],
-    "when": [
-      "* ",
-      "जब ",
-      "कदा "
-    ]
-  },
-  "hr": {
-    "and": [
-      "* ",
-      "I "
-    ],
-    "background": [
-      "Pozadina"
-    ],
-    "but": [
-      "* ",
-      "Ali "
-    ],
-    "examples": [
-      "Primjeri",
-      "Scenariji"
-    ],
-    "feature": [
-      "Osobina",
-      "Mogućnost",
-      "Mogucnost"
-    ],
-    "given": [
-      "* ",
-      "Zadan ",
-      "Zadani ",
-      "Zadano "
-    ],
-    "name": "Croatian",
-    "native": "hrvatski",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Primjer",
-      "Scenarij"
-    ],
-    "scenarioOutline": [
-      "Skica",
-      "Koncept"
-    ],
-    "then": [
-      "* ",
-      "Onda "
-    ],
-    "when": [
-      "* ",
-      "Kada ",
-      "Kad "
-    ]
-  },
-  "ht": {
-    "and": [
-      "* ",
-      "Ak ",
-      "Epi ",
-      "E "
-    ],
-    "background": [
-      "Kontèks",
-      "Istorik"
-    ],
-    "but": [
-      "* ",
-      "Men "
-    ],
-    "examples": [
-      "Egzanp"
-    ],
-    "feature": [
-      "Karakteristik",
-      "Mak",
-      "Fonksyonalite"
-    ],
-    "given": [
-      "* ",
-      "Sipoze ",
-      "Sipoze ke ",
-      "Sipoze Ke "
-    ],
-    "name": "Creole",
-    "native": "kreyòl",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Senaryo"
-    ],
-    "scenarioOutline": [
-      "Plan senaryo",
-      "Plan Senaryo",
-      "Senaryo deskripsyon",
-      "Senaryo Deskripsyon",
-      "Dyagram senaryo",
-      "Dyagram Senaryo"
-    ],
-    "then": [
-      "* ",
-      "Lè sa a ",
-      "Le sa a "
-    ],
-    "when": [
-      "* ",
-      "Lè ",
-      "Le "
-    ]
-  },
-  "hu": {
-    "and": [
-      "* ",
-      "És "
-    ],
-    "background": [
-      "Háttér"
-    ],
-    "but": [
-      "* ",
-      "De "
-    ],
-    "examples": [
-      "Példák"
-    ],
-    "feature": [
-      "Jellemző"
-    ],
-    "given": [
-      "* ",
-      "Amennyiben ",
-      "Adott "
-    ],
-    "name": "Hungarian",
-    "native": "magyar",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Példa",
-      "Forgatókönyv"
-    ],
-    "scenarioOutline": [
-      "Forgatókönyv vázlat"
-    ],
-    "then": [
-      "* ",
-      "Akkor "
-    ],
-    "when": [
-      "* ",
-      "Majd ",
-      "Ha ",
-      "Amikor "
-    ]
-  },
-  "id": {
-    "and": [
-      "* ",
-      "Dan "
-    ],
-    "background": [
-      "Dasar"
-    ],
-    "but": [
-      "* ",
-      "Tapi "
-    ],
-    "examples": [
-      "Contoh"
-    ],
-    "feature": [
-      "Fitur"
-    ],
-    "given": [
-      "* ",
-      "Dengan "
-    ],
-    "name": "Indonesian",
-    "native": "Bahasa Indonesia",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Skenario"
-    ],
-    "scenarioOutline": [
-      "Skenario konsep"
-    ],
-    "then": [
-      "* ",
-      "Maka "
-    ],
-    "when": [
-      "* ",
-      "Ketika "
-    ]
-  },
-  "is": {
-    "and": [
-      "* ",
-      "Og "
-    ],
-    "background": [
-      "Bakgrunnur"
-    ],
-    "but": [
-      "* ",
-      "En "
-    ],
-    "examples": [
-      "Dæmi",
-      "Atburðarásir"
-    ],
-    "feature": [
-      "Eiginleiki"
-    ],
-    "given": [
-      "* ",
-      "Ef "
-    ],
-    "name": "Icelandic",
-    "native": "Íslenska",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Atburðarás"
-    ],
-    "scenarioOutline": [
-      "Lýsing Atburðarásar",
-      "Lýsing Dæma"
-    ],
-    "then": [
-      "* ",
-      "Þá "
-    ],
-    "when": [
-      "* ",
-      "Þegar "
-    ]
-  },
-  "it": {
-    "and": [
-      "* ",
-      "E "
-    ],
-    "background": [
-      "Contesto"
-    ],
-    "but": [
-      "* ",
-      "Ma "
-    ],
-    "examples": [
-      "Esempi"
-    ],
-    "feature": [
-      "Funzionalità"
-    ],
-    "given": [
-      "* ",
-      "Dato ",
-      "Data ",
-      "Dati ",
-      "Date "
-    ],
-    "name": "Italian",
-    "native": "italiano",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Esempio",
-      "Scenario"
-    ],
-    "scenarioOutline": [
-      "Schema dello scenario"
-    ],
-    "then": [
-      "* ",
-      "Allora "
-    ],
-    "when": [
-      "* ",
-      "Quando "
-    ]
-  },
-  "ja": {
-    "and": [
-      "* ",
-      "かつ"
-    ],
-    "background": [
-      "背景"
-    ],
-    "but": [
-      "* ",
-      "しかし",
-      "但し",
-      "ただし"
-    ],
-    "examples": [
-      "例",
-      "サンプル"
-    ],
-    "feature": [
-      "フィーチャ",
-      "機能"
-    ],
-    "given": [
-      "* ",
-      "前提"
-    ],
-    "name": "Japanese",
-    "native": "日本語",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "シナリオ"
-    ],
-    "scenarioOutline": [
-      "シナリオアウトライン",
-      "シナリオテンプレート",
-      "テンプレ",
-      "シナリオテンプレ"
-    ],
-    "then": [
-      "* ",
-      "ならば"
-    ],
-    "when": [
-      "* ",
-      "もし"
-    ]
-  },
-  "jv": {
-    "and": [
-      "* ",
-      "Lan "
-    ],
-    "background": [
-      "Dasar"
-    ],
-    "but": [
-      "* ",
-      "Tapi ",
-      "Nanging ",
-      "Ananging "
-    ],
-    "examples": [
-      "Conto",
-      "Contone"
-    ],
-    "feature": [
-      "Fitur"
-    ],
-    "given": [
-      "* ",
-      "Nalika ",
-      "Nalikaning "
-    ],
-    "name": "Javanese",
-    "native": "Basa Jawa",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Skenario"
-    ],
-    "scenarioOutline": [
-      "Konsep skenario"
-    ],
-    "then": [
-      "* ",
-      "Njuk ",
-      "Banjur "
-    ],
-    "when": [
-      "* ",
-      "Manawa ",
-      "Menawa "
-    ]
-  },
-  "ka": {
-    "and": [
-      "* ",
-      "და"
-    ],
-    "background": [
-      "კონტექსტი"
-    ],
-    "but": [
-      "* ",
-      "მაგ­რამ"
-    ],
-    "examples": [
-      "მაგალითები"
-    ],
-    "feature": [
-      "თვისება"
-    ],
-    "given": [
-      "* ",
-      "მოცემული"
-    ],
-    "name": "Georgian",
-    "native": "ქართველი",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "მაგალითად",
-      "სცენარის"
-    ],
-    "scenarioOutline": [
-      "სცენარის ნიმუში"
-    ],
-    "then": [
-      "* ",
-      "მაშინ"
-    ],
-    "when": [
-      "* ",
-      "როდესაც"
-    ]
-  },
-  "kn": {
-    "and": [
-      "* ",
-      "ಮತ್ತು "
-    ],
-    "background": [
-      "ಹಿನ್ನೆಲೆ"
-    ],
-    "but": [
-      "* ",
-      "ಆದರೆ "
-    ],
-    "examples": [
-      "ಉದಾಹರಣೆಗಳು"
-    ],
-    "feature": [
-      "ಹೆಚ್ಚಳ"
-    ],
-    "given": [
-      "* ",
-      "ನೀಡಿದ "
-    ],
-    "name": "Kannada",
-    "native": "ಕನ್ನಡ",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "ಉದಾಹರಣೆ",
-      "ಕಥಾಸಾರಾಂಶ"
-    ],
-    "scenarioOutline": [
-      "ವಿವರಣೆ"
-    ],
-    "then": [
-      "* ",
-      "ನಂತರ "
-    ],
-    "when": [
-      "* ",
-      "ಸ್ಥಿತಿಯನ್ನು "
-    ]
-  },
-  "ko": {
-    "and": [
-      "* ",
-      "그리고"
-    ],
-    "background": [
-      "배경"
-    ],
-    "but": [
-      "* ",
-      "하지만",
-      "단"
-    ],
-    "examples": [
-      "예"
-    ],
-    "feature": [
-      "기능"
-    ],
-    "given": [
-      "* ",
-      "조건",
-      "먼저"
-    ],
-    "name": "Korean",
-    "native": "한국어",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "시나리오"
-    ],
-    "scenarioOutline": [
-      "시나리오 개요"
-    ],
-    "then": [
-      "* ",
-      "그러면"
-    ],
-    "when": [
-      "* ",
-      "만일",
-      "만약"
-    ]
-  },
-  "lt": {
-    "and": [
-      "* ",
-      "Ir "
-    ],
-    "background": [
-      "Kontekstas"
-    ],
-    "but": [
-      "* ",
-      "Bet "
-    ],
-    "examples": [
-      "Pavyzdžiai",
-      "Scenarijai",
-      "Variantai"
-    ],
-    "feature": [
-      "Savybė"
-    ],
-    "given": [
-      "* ",
-      "Duota "
-    ],
-    "name": "Lithuanian",
-    "native": "lietuvių kalba",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Pavyzdys",
-      "Scenarijus"
-    ],
-    "scenarioOutline": [
-      "Scenarijaus šablonas"
-    ],
-    "then": [
-      "* ",
-      "Tada "
-    ],
-    "when": [
-      "* ",
-      "Kai "
-    ]
-  },
-  "lu": {
-    "and": [
-      "* ",
-      "an ",
-      "a "
-    ],
-    "background": [
-      "Hannergrond"
-    ],
-    "but": [
-      "* ",
-      "awer ",
-      "mä "
-    ],
-    "examples": [
-      "Beispiller"
-    ],
-    "feature": [
-      "Funktionalitéit"
-    ],
-    "given": [
-      "* ",
-      "ugeholl "
-    ],
-    "name": "Luxemburgish",
-    "native": "Lëtzebuergesch",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Beispill",
-      "Szenario"
-    ],
-    "scenarioOutline": [
-      "Plang vum Szenario"
-    ],
-    "then": [
-      "* ",
-      "dann "
-    ],
-    "when": [
-      "* ",
-      "wann "
-    ]
-  },
-  "lv": {
-    "and": [
-      "* ",
-      "Un "
-    ],
-    "background": [
-      "Konteksts",
-      "Situācija"
-    ],
-    "but": [
-      "* ",
-      "Bet "
-    ],
-    "examples": [
-      "Piemēri",
-      "Paraugs"
-    ],
-    "feature": [
-      "Funkcionalitāte",
-      "Fīča"
-    ],
-    "given": [
-      "* ",
-      "Kad "
-    ],
-    "name": "Latvian",
-    "native": "latviešu",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Piemērs",
-      "Scenārijs"
-    ],
-    "scenarioOutline": [
-      "Scenārijs pēc parauga"
-    ],
-    "then": [
-      "* ",
-      "Tad "
-    ],
-    "when": [
-      "* ",
-      "Ja "
-    ]
-  },
-  "mk-Cyrl": {
-    "and": [
-      "* ",
-      "И "
-    ],
-    "background": [
-      "Контекст",
-      "Содржина"
-    ],
-    "but": [
-      "* ",
-      "Но "
-    ],
-    "examples": [
-      "Примери",
-      "Сценарија"
-    ],
-    "feature": [
-      "Функционалност",
-      "Бизнис потреба",
-      "Можност"
-    ],
-    "given": [
-      "* ",
-      "Дадено ",
-      "Дадена "
-    ],
-    "name": "Macedonian",
-    "native": "Македонски",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Пример",
-      "Сценарио",
-      "На пример"
-    ],
-    "scenarioOutline": [
-      "Преглед на сценарија",
-      "Скица",
-      "Концепт"
-    ],
-    "then": [
-      "* ",
-      "Тогаш "
-    ],
-    "when": [
-      "* ",
-      "Кога "
-    ]
-  },
-  "mk-Latn": {
-    "and": [
-      "* ",
-      "I "
-    ],
-    "background": [
-      "Kontekst",
-      "Sodrzhina"
-    ],
-    "but": [
-      "* ",
-      "No "
-    ],
-    "examples": [
-      "Primeri",
-      "Scenaria"
-    ],
-    "feature": [
-      "Funkcionalnost",
-      "Biznis potreba",
-      "Mozhnost"
-    ],
-    "given": [
-      "* ",
-      "Dadeno ",
-      "Dadena "
-    ],
-    "name": "Macedonian (Latin)",
-    "native": "Makedonski (Latinica)",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Scenario",
-      "Na primer"
-    ],
-    "scenarioOutline": [
-      "Pregled na scenarija",
-      "Skica",
-      "Koncept"
-    ],
-    "then": [
-      "* ",
-      "Togash "
-    ],
-    "when": [
-      "* ",
-      "Koga "
-    ]
-  },
-  "mn": {
-    "and": [
-      "* ",
-      "Мөн ",
-      "Тэгээд "
-    ],
-    "background": [
-      "Агуулга"
-    ],
-    "but": [
-      "* ",
-      "Гэхдээ ",
-      "Харин "
-    ],
-    "examples": [
-      "Тухайлбал"
-    ],
-    "feature": [
-      "Функц",
-      "Функционал"
-    ],
-    "given": [
-      "* ",
-      "Өгөгдсөн нь ",
-      "Анх "
-    ],
-    "name": "Mongolian",
-    "native": "монгол",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Сценар"
-    ],
-    "scenarioOutline": [
-      "Сценарын төлөвлөгөө"
-    ],
-    "then": [
-      "* ",
-      "Тэгэхэд ",
-      "Үүний дараа "
-    ],
-    "when": [
-      "* ",
-      "Хэрэв "
-    ]
-  },
-  "nl": {
-    "and": [
-      "* ",
-      "En "
-    ],
-    "background": [
-      "Achtergrond"
-    ],
-    "but": [
-      "* ",
-      "Maar "
-    ],
-    "examples": [
-      "Voorbeelden"
-    ],
-    "feature": [
-      "Functionaliteit"
-    ],
-    "given": [
-      "* ",
-      "Gegeven ",
-      "Stel "
-    ],
-    "name": "Dutch",
-    "native": "Nederlands",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Voorbeeld",
-      "Scenario"
-    ],
-    "scenarioOutline": [
-      "Abstract Scenario"
-    ],
-    "then": [
-      "* ",
-      "Dan "
-    ],
-    "when": [
-      "* ",
-      "Als ",
-      "Wanneer "
-    ]
-  },
-  "no": {
-    "and": [
-      "* ",
-      "Og "
-    ],
-    "background": [
-      "Bakgrunn"
-    ],
-    "but": [
-      "* ",
-      "Men "
-    ],
-    "examples": [
-      "Eksempler"
-    ],
-    "feature": [
-      "Egenskap"
-    ],
-    "given": [
-      "* ",
-      "Gitt "
-    ],
-    "name": "Norwegian",
-    "native": "norsk",
-    "rule": [
-      "Regel"
-    ],
-    "scenario": [
-      "Eksempel",
-      "Scenario"
-    ],
-    "scenarioOutline": [
-      "Scenariomal",
-      "Abstrakt Scenario"
-    ],
-    "then": [
-      "* ",
-      "Så "
-    ],
-    "when": [
-      "* ",
-      "Når "
-    ]
-  },
-  "pa": {
-    "and": [
-      "* ",
-      "ਅਤੇ "
-    ],
-    "background": [
-      "ਪਿਛੋਕੜ"
-    ],
-    "but": [
-      "* ",
-      "ਪਰ "
-    ],
-    "examples": [
-      "ਉਦਾਹਰਨਾਂ"
-    ],
-    "feature": [
-      "ਖਾਸੀਅਤ",
-      "ਮੁਹਾਂਦਰਾ",
-      "ਨਕਸ਼ ਨੁਹਾਰ"
-    ],
-    "given": [
-      "* ",
-      "ਜੇਕਰ ",
-      "ਜਿਵੇਂ ਕਿ "
-    ],
-    "name": "Panjabi",
-    "native": "ਪੰਜਾਬੀ",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "ਉਦਾਹਰਨ",
-      "ਪਟਕਥਾ"
-    ],
-    "scenarioOutline": [
-      "ਪਟਕਥਾ ਢਾਂਚਾ",
-      "ਪਟਕਥਾ ਰੂਪ ਰੇਖਾ"
-    ],
-    "then": [
-      "* ",
-      "ਤਦ "
-    ],
-    "when": [
-      "* ",
-      "ਜਦੋਂ "
-    ]
-  },
-  "pl": {
-    "and": [
-      "* ",
-      "Oraz ",
-      "I "
-    ],
-    "background": [
-      "Założenia"
-    ],
-    "but": [
-      "* ",
-      "Ale "
-    ],
-    "examples": [
-      "Przykłady"
-    ],
-    "feature": [
-      "Właściwość",
-      "Funkcja",
-      "Aspekt",
-      "Potrzeba biznesowa"
-    ],
-    "given": [
-      "* ",
-      "Zakładając ",
-      "Mając ",
-      "Zakładając, że "
-    ],
-    "name": "Polish",
-    "native": "polski",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Przykład",
-      "Scenariusz"
-    ],
-    "scenarioOutline": [
-      "Szablon scenariusza"
-    ],
-    "then": [
-      "* ",
-      "Wtedy "
-    ],
-    "when": [
-      "* ",
-      "Jeżeli ",
-      "Jeśli ",
-      "Gdy ",
-      "Kiedy "
-    ]
-  },
-  "pt": {
-    "and": [
-      "* ",
-      "E "
-    ],
-    "background": [
-      "Contexto",
-      "Cenário de Fundo",
-      "Cenario de Fundo",
-      "Fundo"
-    ],
-    "but": [
-      "* ",
-      "Mas "
-    ],
-    "examples": [
-      "Exemplos",
-      "Cenários",
-      "Cenarios"
-    ],
-    "feature": [
-      "Funcionalidade",
-      "Característica",
-      "Caracteristica"
-    ],
-    "given": [
-      "* ",
-      "Dado ",
-      "Dada ",
-      "Dados ",
-      "Dadas "
-    ],
-    "name": "Portuguese",
-    "native": "português",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Exemplo",
-      "Cenário",
-      "Cenario"
-    ],
-    "scenarioOutline": [
-      "Esquema do Cenário",
-      "Esquema do Cenario",
-      "Delineação do Cenário",
-      "Delineacao do Cenario"
-    ],
-    "then": [
-      "* ",
-      "Então ",
-      "Entao "
-    ],
-    "when": [
-      "* ",
-      "Quando "
-    ]
-  },
-  "ro": {
-    "and": [
-      "* ",
-      "Si ",
-      "Și ",
-      "Şi "
-    ],
-    "background": [
-      "Context"
-    ],
-    "but": [
-      "* ",
-      "Dar "
-    ],
-    "examples": [
-      "Exemple"
-    ],
-    "feature": [
-      "Functionalitate",
-      "Funcționalitate",
-      "Funcţionalitate"
-    ],
-    "given": [
-      "* ",
-      "Date fiind ",
-      "Dat fiind ",
-      "Dată fiind",
-      "Dati fiind ",
-      "Dați fiind ",
-      "Daţi fiind "
-    ],
-    "name": "Romanian",
-    "native": "română",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Exemplu",
-      "Scenariu"
-    ],
-    "scenarioOutline": [
-      "Structura scenariu",
-      "Structură scenariu"
-    ],
-    "then": [
-      "* ",
-      "Atunci "
-    ],
-    "when": [
-      "* ",
-      "Cand ",
-      "Când "
-    ]
-  },
-  "ru": {
-    "and": [
-      "* ",
-      "И ",
-      "К тому же ",
-      "Также "
-    ],
-    "background": [
-      "Предыстория",
-      "Контекст"
-    ],
-    "but": [
-      "* ",
-      "Но ",
-      "А ",
-      "Иначе "
-    ],
-    "examples": [
-      "Примеры"
-    ],
-    "feature": [
-      "Функция",
-      "Функциональность",
-      "Функционал",
-      "Свойство"
-    ],
-    "given": [
-      "* ",
-      "Допустим ",
-      "Дано ",
-      "Пусть "
-    ],
-    "name": "Russian",
-    "native": "русский",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Пример",
-      "Сценарий"
-    ],
-    "scenarioOutline": [
-      "Структура сценария"
-    ],
-    "then": [
-      "* ",
-      "То ",
-      "Затем ",
-      "Тогда "
-    ],
-    "when": [
-      "* ",
-      "Когда ",
-      "Если "
-    ]
-  },
-  "sk": {
-    "and": [
-      "* ",
-      "A ",
-      "A tiež ",
-      "A taktiež ",
-      "A zároveň "
-    ],
-    "background": [
-      "Pozadie"
-    ],
-    "but": [
-      "* ",
-      "Ale "
-    ],
-    "examples": [
-      "Príklady"
-    ],
-    "feature": [
-      "Požiadavka",
-      "Funkcia",
-      "Vlastnosť"
-    ],
-    "given": [
-      "* ",
-      "Pokiaľ ",
-      "Za predpokladu "
-    ],
-    "name": "Slovak",
-    "native": "Slovensky",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Príklad",
-      "Scenár"
-    ],
-    "scenarioOutline": [
-      "Náčrt Scenáru",
-      "Náčrt Scenára",
-      "Osnova Scenára"
-    ],
-    "then": [
-      "* ",
-      "Tak ",
-      "Potom "
-    ],
-    "when": [
-      "* ",
-      "Keď ",
-      "Ak "
-    ]
-  },
-  "sl": {
-    "and": [
-      "In ",
-      "Ter "
-    ],
-    "background": [
-      "Kontekst",
-      "Osnova",
-      "Ozadje"
-    ],
-    "but": [
-      "Toda ",
-      "Ampak ",
-      "Vendar "
-    ],
-    "examples": [
-      "Primeri",
-      "Scenariji"
-    ],
-    "feature": [
-      "Funkcionalnost",
-      "Funkcija",
-      "Možnosti",
-      "Moznosti",
-      "Lastnost",
-      "Značilnost"
-    ],
-    "given": [
-      "Dano ",
-      "Podano ",
-      "Zaradi ",
-      "Privzeto "
-    ],
-    "name": "Slovenian",
-    "native": "Slovenski",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Primer",
-      "Scenarij"
-    ],
-    "scenarioOutline": [
-      "Struktura scenarija",
-      "Skica",
-      "Koncept",
-      "Oris scenarija",
-      "Osnutek"
-    ],
-    "then": [
-      "Nato ",
-      "Potem ",
-      "Takrat "
-    ],
-    "when": [
-      "Ko ",
-      "Ce ",
-      "Če ",
-      "Kadar "
-    ]
-  },
-  "sr-Cyrl": {
-    "and": [
-      "* ",
-      "И "
-    ],
-    "background": [
-      "Контекст",
-      "Основа",
-      "Позадина"
-    ],
-    "but": [
-      "* ",
-      "Али "
-    ],
-    "examples": [
-      "Примери",
-      "Сценарији"
-    ],
-    "feature": [
-      "Функционалност",
-      "Могућност",
-      "Особина"
-    ],
-    "given": [
-      "* ",
-      "За дато ",
-      "За дате ",
-      "За дати "
-    ],
-    "name": "Serbian",
-    "native": "Српски",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Пример",
-      "Сценарио",
-      "Пример"
-    ],
-    "scenarioOutline": [
-      "Структура сценарија",
-      "Скица",
-      "Концепт"
-    ],
-    "then": [
-      "* ",
-      "Онда "
-    ],
-    "when": [
-      "* ",
-      "Када ",
-      "Кад "
-    ]
-  },
-  "sr-Latn": {
-    "and": [
-      "* ",
-      "I "
-    ],
-    "background": [
-      "Kontekst",
-      "Osnova",
-      "Pozadina"
-    ],
-    "but": [
-      "* ",
-      "Ali "
-    ],
-    "examples": [
-      "Primeri",
-      "Scenariji"
-    ],
-    "feature": [
-      "Funkcionalnost",
-      "Mogućnost",
-      "Mogucnost",
-      "Osobina"
-    ],
-    "given": [
-      "* ",
-      "Za dato ",
-      "Za date ",
-      "Za dati "
-    ],
-    "name": "Serbian (Latin)",
-    "native": "Srpski (Latinica)",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Scenario",
-      "Primer"
-    ],
-    "scenarioOutline": [
-      "Struktura scenarija",
-      "Skica",
-      "Koncept"
-    ],
-    "then": [
-      "* ",
-      "Onda "
-    ],
-    "when": [
-      "* ",
-      "Kada ",
-      "Kad "
-    ]
-  },
-  "sv": {
-    "and": [
-      "* ",
-      "Och "
-    ],
-    "background": [
-      "Bakgrund"
-    ],
-    "but": [
-      "* ",
-      "Men "
-    ],
-    "examples": [
-      "Exempel"
-    ],
-    "feature": [
-      "Egenskap"
-    ],
-    "given": [
-      "* ",
-      "Givet "
-    ],
-    "name": "Swedish",
-    "native": "Svenska",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Scenario"
-    ],
-    "scenarioOutline": [
-      "Abstrakt Scenario",
-      "Scenariomall"
-    ],
-    "then": [
-      "* ",
-      "Så "
-    ],
-    "when": [
-      "* ",
-      "När "
-    ]
-  },
-  "ta": {
-    "and": [
-      "* ",
-      "மேலும்  ",
-      "மற்றும் "
-    ],
-    "background": [
-      "பின்னணி"
-    ],
-    "but": [
-      "* ",
-      "ஆனால்  "
-    ],
-    "examples": [
-      "எடுத்துக்காட்டுகள்",
-      "காட்சிகள்",
-      "நிலைமைகளில்"
-    ],
-    "feature": [
-      "அம்சம்",
-      "வணிக தேவை",
-      "திறன்"
-    ],
-    "given": [
-      "* ",
-      "கொடுக்கப்பட்ட "
-    ],
-    "name": "Tamil",
-    "native": "தமிழ்",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "உதாரணமாக",
-      "காட்சி"
-    ],
-    "scenarioOutline": [
-      "காட்சி சுருக்கம்",
-      "காட்சி வார்ப்புரு"
-    ],
-    "then": [
-      "* ",
-      "அப்பொழுது "
-    ],
-    "when": [
-      "* ",
-      "எப்போது "
-    ]
-  },
-  "th": {
-    "and": [
-      "* ",
-      "และ "
-    ],
-    "background": [
-      "แนวคิด"
-    ],
-    "but": [
-      "* ",
-      "แต่ "
-    ],
-    "examples": [
-      "ชุดของตัวอย่าง",
-      "ชุดของเหตุการณ์"
-    ],
-    "feature": [
-      "โครงหลัก",
-      "ความต้องการทางธุรกิจ",
-      "ความสามารถ"
-    ],
-    "given": [
-      "* ",
-      "กำหนดให้ "
-    ],
-    "name": "Thai",
-    "native": "ไทย",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "เหตุการณ์"
-    ],
-    "scenarioOutline": [
-      "สรุปเหตุการณ์",
-      "โครงสร้างของเหตุการณ์"
-    ],
-    "then": [
-      "* ",
-      "ดังนั้น "
-    ],
-    "when": [
-      "* ",
-      "เมื่อ "
-    ]
-  },
-  "tl": {
-    "and": [
-      "* ",
-      "మరియు "
-    ],
-    "background": [
-      "నేపథ్యం"
-    ],
-    "but": [
-      "* ",
-      "కాని "
-    ],
-    "examples": [
-      "ఉదాహరణలు"
-    ],
-    "feature": [
-      "గుణము"
-    ],
-    "given": [
-      "* ",
-      "చెప్పబడినది "
-    ],
-    "name": "Telugu",
-    "native": "తెలుగు",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "ఉదాహరణ",
-      "సన్నివేశం"
-    ],
-    "scenarioOutline": [
-      "కథనం"
-    ],
-    "then": [
-      "* ",
-      "అప్పుడు "
-    ],
-    "when": [
-      "* ",
-      "ఈ పరిస్థితిలో "
-    ]
-  },
-  "tlh": {
-    "and": [
-      "* ",
-      "'ej ",
-      "latlh "
-    ],
-    "background": [
-      "mo'"
-    ],
-    "but": [
-      "* ",
-      "'ach ",
-      "'a "
-    ],
-    "examples": [
-      "ghantoH",
-      "lutmey"
-    ],
-    "feature": [
-      "Qap",
-      "Qu'meH 'ut",
-      "perbogh",
-      "poQbogh malja'",
-      "laH"
-    ],
-    "given": [
-      "* ",
-      "ghu' noblu' ",
-      "DaH ghu' bejlu' "
-    ],
-    "name": "Klingon",
-    "native": "tlhIngan",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "lut"
-    ],
-    "scenarioOutline": [
-      "lut chovnatlh"
-    ],
-    "then": [
-      "* ",
-      "vaj "
-    ],
-    "when": [
-      "* ",
-      "qaSDI' "
-    ]
-  },
-  "tr": {
-    "and": [
-      "* ",
-      "Ve "
-    ],
-    "background": [
-      "Geçmiş"
-    ],
-    "but": [
-      "* ",
-      "Fakat ",
-      "Ama "
-    ],
-    "examples": [
-      "Örnekler"
-    ],
-    "feature": [
-      "Özellik"
-    ],
-    "given": [
-      "* ",
-      "Diyelim ki "
-    ],
-    "name": "Turkish",
-    "native": "Türkçe",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Örnek",
-      "Senaryo"
-    ],
-    "scenarioOutline": [
-      "Senaryo taslağı"
-    ],
-    "then": [
-      "* ",
-      "O zaman "
-    ],
-    "when": [
-      "* ",
-      "Eğer ki "
-    ]
-  },
-  "tt": {
-    "and": [
-      "* ",
-      "Һәм ",
-      "Вә "
-    ],
-    "background": [
-      "Кереш"
-    ],
-    "but": [
-      "* ",
-      "Ләкин ",
-      "Әмма "
-    ],
-    "examples": [
-      "Үрнәкләр",
-      "Мисаллар"
-    ],
-    "feature": [
-      "Мөмкинлек",
-      "Үзенчәлеклелек"
-    ],
-    "given": [
-      "* ",
-      "Әйтик "
-    ],
-    "name": "Tatar",
-    "native": "Татарча",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Сценарий"
-    ],
-    "scenarioOutline": [
-      "Сценарийның төзелеше"
-    ],
-    "then": [
-      "* ",
-      "Нәтиҗәдә "
-    ],
-    "when": [
-      "* ",
-      "Әгәр "
-    ]
-  },
-  "uk": {
-    "and": [
-      "* ",
-      "І ",
-      "А також ",
-      "Та "
-    ],
-    "background": [
-      "Передумова"
-    ],
-    "but": [
-      "* ",
-      "Але "
-    ],
-    "examples": [
-      "Приклади"
-    ],
-    "feature": [
-      "Функціонал"
-    ],
-    "given": [
-      "* ",
-      "Припустимо ",
-      "Припустимо, що ",
-      "Нехай ",
-      "Дано "
-    ],
-    "name": "Ukrainian",
-    "native": "Українська",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Приклад",
-      "Сценарій"
-    ],
-    "scenarioOutline": [
-      "Структура сценарію"
-    ],
-    "then": [
-      "* ",
-      "То ",
-      "Тоді "
-    ],
-    "when": [
-      "* ",
-      "Якщо ",
-      "Коли "
-    ]
-  },
-  "ur": {
-    "and": [
-      "* ",
-      "اور "
-    ],
-    "background": [
-      "پس منظر"
-    ],
-    "but": [
-      "* ",
-      "لیکن "
-    ],
-    "examples": [
-      "مثالیں"
-    ],
-    "feature": [
-      "صلاحیت",
-      "کاروبار کی ضرورت",
-      "خصوصیت"
-    ],
-    "given": [
-      "* ",
-      "اگر ",
-      "بالفرض ",
-      "فرض کیا "
-    ],
-    "name": "Urdu",
-    "native": "اردو",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "منظرنامہ"
-    ],
-    "scenarioOutline": [
-      "منظر نامے کا خاکہ"
-    ],
-    "then": [
-      "* ",
-      "پھر ",
-      "تب "
-    ],
-    "when": [
-      "* ",
-      "جب "
-    ]
-  },
-  "uz": {
-    "and": [
-      "* ",
-      "Ва "
-    ],
-    "background": [
-      "Тарих"
-    ],
-    "but": [
-      "* ",
-      "Лекин ",
-      "Бирок ",
-      "Аммо "
-    ],
-    "examples": [
-      "Мисоллар"
-    ],
-    "feature": [
-      "Функционал"
-    ],
-    "given": [
-      "* ",
-      "Агар "
-    ],
-    "name": "Uzbek",
-    "native": "Узбекча",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Сценарий"
-    ],
-    "scenarioOutline": [
-      "Сценарий структураси"
-    ],
-    "then": [
-      "* ",
-      "Унда "
-    ],
-    "when": [
-      "* ",
-      "Агар "
-    ]
-  },
-  "vi": {
-    "and": [
-      "* ",
-      "Và "
-    ],
-    "background": [
-      "Bối cảnh"
-    ],
-    "but": [
-      "* ",
-      "Nhưng "
-    ],
-    "examples": [
-      "Dữ liệu"
-    ],
-    "feature": [
-      "Tính năng"
-    ],
-    "given": [
-      "* ",
-      "Biết ",
-      "Cho "
-    ],
-    "name": "Vietnamese",
-    "native": "Tiếng Việt",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "Tình huống",
-      "Kịch bản"
-    ],
-    "scenarioOutline": [
-      "Khung tình huống",
-      "Khung kịch bản"
-    ],
-    "then": [
-      "* ",
-      "Thì "
-    ],
-    "when": [
-      "* ",
-      "Khi "
-    ]
-  },
-  "zh-CN": {
-    "and": [
-      "* ",
-      "而且",
-      "并且",
-      "同时"
-    ],
-    "background": [
-      "背景"
-    ],
-    "but": [
-      "* ",
-      "但是"
-    ],
-    "examples": [
-      "例子"
-    ],
-    "feature": [
-      "功能"
-    ],
-    "given": [
-      "* ",
-      "假如",
-      "假设",
-      "假定"
-    ],
-    "name": "Chinese simplified",
-    "native": "简体中文",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "场景",
-      "剧本"
-    ],
-    "scenarioOutline": [
-      "场景大纲",
-      "剧本大纲"
-    ],
-    "then": [
-      "* ",
-      "那么"
-    ],
-    "when": [
-      "* ",
-      "当"
-    ]
-  },
-  "zh-TW": {
-    "and": [
-      "* ",
-      "而且",
-      "並且",
-      "同時"
-    ],
-    "background": [
-      "背景"
-    ],
-    "but": [
-      "* ",
-      "但是"
-    ],
-    "examples": [
-      "例子"
-    ],
-    "feature": [
-      "功能"
-    ],
-    "given": [
-      "* ",
-      "假如",
-      "假設",
-      "假定"
-    ],
-    "name": "Chinese traditional",
-    "native": "繁體中文",
-    "rule": [
-      "Rule"
-    ],
-    "scenario": [
-      "場景",
-      "劇本"
-    ],
-    "scenarioOutline": [
-      "場景大綱",
-      "劇本大綱"
-    ],
-    "then": [
-      "* ",
-      "那麼"
-    ],
-    "when": [
-      "* ",
-      "當"
-    ]
-  }
-}
diff --git a/gherkin/java/src/test/java/gherkin/GherkinDialectProviderTest.java b/gherkin/java/src/test/java/gherkin/GherkinDialectProviderTest.java
deleted file mode 100644
index 204a8389ba..0000000000
--- a/gherkin/java/src/test/java/gherkin/GherkinDialectProviderTest.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package gherkin;
-
-import org.junit.Test;
-
-import static gherkin.SymbolCounter.countSymbols;
-import static org.junit.Assert.assertEquals;
-
-public class GherkinDialectProviderTest {
-    @Test
-    public void providesEmojiDialect() {
-        GherkinDialect em = new GherkinDialectProvider().getDialect("em", null);
-        assertEquals(1, countSymbols(em.getScenarioKeywords().get(0)));
-    }
-}
diff --git a/gherkin/java/src/test/java/gherkin/GherkinDocumentBuilderTest.java b/gherkin/java/src/test/java/gherkin/GherkinDocumentBuilderTest.java
deleted file mode 100644
index 8200628aac..0000000000
--- a/gherkin/java/src/test/java/gherkin/GherkinDocumentBuilderTest.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package gherkin;
-
-import gherkin.pickles.PickleCompiler;
-import io.cucumber.messages.Messages.Comment;
-import io.cucumber.messages.Messages.FeatureChild;
-import io.cucumber.messages.Messages.GherkinDocument;
-import io.cucumber.messages.Messages.Pickle;
-import io.cucumber.messages.Messages.PickleStep;
-import io.cucumber.messages.Messages.TableRow;
-import org.junit.Test;
-
-import java.util.List;
-
-import static org.junit.Assert.assertEquals;
-
-public class GherkinDocumentBuilderTest {
-    @Test
-    public void is_reusable() {
-        Parser<GherkinDocument.Builder> parser = new Parser<>(new GherkinDocumentBuilder());
-        TokenMatcher matcher = new TokenMatcher();
-
-        GherkinDocument d1 = parser.parse("Feature: 1", matcher).build();
-        GherkinDocument d2 = parser.parse("Feature: 2", matcher).build();
-
-        assertEquals("1", d1.getFeature().getName());
-        assertEquals("2", d2.getFeature().getName());
-    }
-
-    @Test
-    public void parses_rules() {
-        Parser<GherkinDocument.Builder> parser = new Parser<>(new GherkinDocumentBuilder());
-        GherkinDocument doc = parser.parse("" +
-                "Feature: Some rules\n" +
-                "\n" +
-                "  Background:\n" +
-                "    Given fb\n" +
-                "\n" +
-                "  Rule: A\n" +
-                "    The rule A description\n" +
-                "\n" +
-                "    Background:\n" +
-                "      Given ab\n" +
-                "\n" +
-                "    Example: Example A\n" +
-                "      Given a\n" +
-                "\n" +
-                "  Rule: B\n" +
-                "    The rule B description\n" +
-                "\n" +
-                "    Example: Example B\n" +
-                "      Given b").build();
-
-        List<FeatureChild> children = doc.getFeature().getChildrenList();
-        assertEquals(3, children.size());
-
-        PickleCompiler pickleCompiler = new PickleCompiler();
-        List<Pickle> pickles = pickleCompiler.compile(doc, "hello.feature");
-        assertEquals(2, pickles.size());
-
-        assertEquals(3, pickles.get(0).getStepsList().size());
-
-        assertEquals(2, pickles.get(1).getStepsList().size());
-    }
-
-    @Test
-    public void parses_just_comments() {
-        Parser<GherkinDocument.Builder> parser = new Parser<>(new GherkinDocumentBuilder());
-        GherkinDocument doc = parser.parse("" +
-                "# Just a comment").build();
-        List<Comment> children = doc.getCommentsList();
-        assertEquals(1, children.size());
-    }
-
-    @Test
-    public void sets_empty_table_cells() {
-        Parser<GherkinDocument.Builder> parser = new Parser<>(new GherkinDocumentBuilder());
-        GherkinDocument doc = parser.parse("" +
-                "Feature:\n  Scenario:\n    Given a table\n      |a||b|").build();
-        TableRow row = doc.getFeature().getChildren(0).getScenario().getSteps(0).getDataTable().getRows(0);
-        assertEquals("a", row.getCells(0).getValue());
-        assertEquals("", row.getCells(1).getValue());
-        assertEquals("b", row.getCells(2).getValue());
-    }
-
-    @Test
-    public void reports_step_text_column() {
-        Parser<GherkinDocument.Builder> parser = new Parser<>(new GherkinDocumentBuilder());
-        GherkinDocument doc = parser.parse("" +
-                "Feature:\n  Scenario:\n    Given a step").build();
-        PickleCompiler pickleCompiler = new PickleCompiler();
-        List<Pickle> pickles = pickleCompiler.compile(doc, "hello.feature");
-
-        PickleStep step = pickles.get(0).getSteps(0);
-        assertEquals(11, step.getLocations(0).getColumn());
-
-    }
-
-}
diff --git a/gherkin/java/src/test/java/gherkin/GherkinLineTest.java b/gherkin/java/src/test/java/gherkin/GherkinLineTest.java
deleted file mode 100644
index 4cf9b6a861..0000000000
--- a/gherkin/java/src/test/java/gherkin/GherkinLineTest.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package gherkin;
-
-import org.junit.Test;
-
-import java.util.List;
-
-import static java.util.Arrays.asList;
-import static org.junit.Assert.assertEquals;
-
-public class GherkinLineTest {
-    @Test
-    public void finds_tags() {
-        GherkinLine gherkinLine = new GherkinLine("    @this @is  @atag  ");
-        List<GherkinLineSpan> gherkinLineSpans = gherkinLine.getTags();
-
-        assertEquals(asList(
-                new GherkinLineSpan(5, "@this"),
-                new GherkinLineSpan(11, "@is"),
-                new GherkinLineSpan(16, "@atag")
-        ), gherkinLineSpans);
-    }
-
-}
diff --git a/gherkin/java/src/test/java/gherkin/ParserTest.java b/gherkin/java/src/test/java/gherkin/ParserTest.java
deleted file mode 100644
index 750bae517d..0000000000
--- a/gherkin/java/src/test/java/gherkin/ParserTest.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package gherkin;
-
-import io.cucumber.messages.Messages.GherkinDocument;
-import io.cucumber.messages.com.google.gson.JsonParser;
-import io.cucumber.messages.com.google.protobuf.InvalidProtocolBufferException;
-import io.cucumber.messages.com.google.protobuf.util.JsonFormat;
-import io.cucumber.messages.com.google.protobuf.util.JsonFormat.Printer;
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-
-public class ParserTest {
-
-    @Test
-    public void change_default_language() throws InvalidProtocolBufferException {
-        JsonParser jsonParser = new JsonParser();
-        Printer printer = JsonFormat.printer();
-        TokenMatcher matcher = new TokenMatcher("no");
-        Parser<GherkinDocument.Builder> parser = new Parser<>(new GherkinDocumentBuilder());
-
-        GherkinDocument gherkinDocument = parser.parse("Egenskap: i18n support\n", matcher).build();
-        String json = printer.print(gherkinDocument);
-
-        assertEquals(jsonParser.parse("" +
-                        "{\"feature\":{\"location\":{\"line\":1,\"column\":1},\"language\":\"no\",\"keyword\":\"Egenskap\",\"name\":\"i18n support\"}}"),
-                jsonParser.parse(json));
-    }
-}
diff --git a/gherkin/java/src/test/java/gherkin/messages/SubprocessCucumberMessagesTest.java b/gherkin/java/src/test/java/io/cucumber/gherkin/SubprocessCucumberMessagesTest.java
similarity index 88%
rename from gherkin/java/src/test/java/gherkin/messages/SubprocessCucumberMessagesTest.java
rename to gherkin/java/src/test/java/io/cucumber/gherkin/SubprocessCucumberMessagesTest.java
index 5833a81fbe..ba30dff203 100644
--- a/gherkin/java/src/test/java/gherkin/messages/SubprocessCucumberMessagesTest.java
+++ b/gherkin/java/src/test/java/io/cucumber/gherkin/SubprocessCucumberMessagesTest.java
@@ -1,5 +1,6 @@
-package gherkin.messages;
+package io.cucumber.gherkin;
 
+import io.cucumber.gherkin.SubprocessCucumberMessages;
 import io.cucumber.messages.Messages;
 import org.junit.Ignore;
 import org.junit.Test;

From 18654964302691be91241443aea9621bb8bd3179 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Aslak=20Helles=C3=B8y?= <aslak.hellesoy@gmail.com>
Date: Mon, 2 Jul 2018 16:43:59 +0100
Subject: [PATCH 2/6] Embed executables in jar, and extract before executing.

---
 gherkin/java/Makefile                         |  10 +-
 gherkin/java/assembly.xml                     |  24 ++++
 gherkin/java/pom.xml                          |  21 ++++
 .../java/io/cucumber/gherkin/MagicFile.java   | 105 ++++++++++++++++++
 .../main/java/io/cucumber/gherkin/Main.java   |  25 ++---
 .../gherkin/SubprocessCucumberMessages.java   |   9 +-
 .../io/cucumber/gherkin/MagicFileTest.java    |  48 ++++++++
 .../SubprocessCucumberMessagesTest.java       |   4 +-
 8 files changed, 220 insertions(+), 26 deletions(-)
 create mode 100644 gherkin/java/assembly.xml
 create mode 100644 gherkin/java/src/main/java/io/cucumber/gherkin/MagicFile.java
 create mode 100644 gherkin/java/src/test/java/io/cucumber/gherkin/MagicFileTest.java

diff --git a/gherkin/java/Makefile b/gherkin/java/Makefile
index 0eddefcfc9..82c396efcd 100644
--- a/gherkin/java/Makefile
+++ b/gherkin/java/Makefile
@@ -30,7 +30,7 @@ default: .compared
 
 acceptance/testdata/%.feature.ast.ndjson: testdata/%.feature testdata/%.feature.ast.ndjson .built
 	mkdir -p `dirname $@`
-	bin/gherkin --no-source --no-pickles $< | jq --sort-keys --compact-output "." > $@
+	bin/gherkin --no-source --no-pickles --json $< | jq --sort-keys --compact-output "." > $@
 	diff --unified <(jq "." $<.ast.ndjson) <(jq "." $@)
 
 # # Generate - we only do this in the Java project, then rsync to others
@@ -45,7 +45,7 @@ acceptance/testdata/%.feature.ast.ndjson: testdata/%.feature testdata/%.feature.
 
 acceptance/testdata/%.feature.protobuf.bin.ndjson: testdata/%.feature.protobuf.bin .built
 	mkdir -p `dirname $@`
-	cat $< | bin/gherkin | jq --sort-keys --compact-output "." > $@
+	cat $< | bin/gherkin --json | jq --sort-keys --compact-output "." > $@
 	diff --unified <(jq "." $<.ndjson) <(jq "." $@)
 
 # # Generate
@@ -55,7 +55,7 @@ acceptance/testdata/%.feature.protobuf.bin.ndjson: testdata/%.feature.protobuf.b
 
 acceptance/testdata/%.feature.pickles.ndjson: testdata/%.feature testdata/%.feature.pickles.ndjson .built
 	mkdir -p `dirname $@`
-	bin/gherkin --no-source --no-ast $< | jq --sort-keys --compact-output "." > $@
+	bin/gherkin --no-source --no-ast --json $< | jq --sort-keys --compact-output "." > $@
 	diff --unified <(jq "." $<.pickles.ndjson) <(jq "." $@)
 
 # # Generate
@@ -65,7 +65,7 @@ acceptance/testdata/%.feature.pickles.ndjson: testdata/%.feature testdata/%.feat
 
 acceptance/testdata/%.feature.source.ndjson: testdata/%.feature testdata/%.feature.source.ndjson .built
 	mkdir -p `dirname $@`
-	bin/gherkin --no-ast --no-pickles $< | jq --sort-keys --compact-output "." > $@
+	bin/gherkin --no-ast --no-pickles --json $< | jq --sort-keys --compact-output "." > $@
 	diff --unified <(jq "." $<.source.ndjson) <(jq "." $@)
 
 # # Generate
@@ -75,7 +75,7 @@ acceptance/testdata/%.feature.source.ndjson: testdata/%.feature testdata/%.featu
 
 acceptance/testdata/%.feature.errors.ndjson: testdata/%.feature testdata/%.feature.errors.ndjson .built
 	mkdir -p `dirname $@`
-	bin/gherkin --no-source $< | jq --sort-keys --compact-output "." > $@
+	bin/gherkin --no-source --json $< | jq --sort-keys --compact-output "." > $@
 	diff --unified <(jq "." $<.errors.ndjson) <(jq "." $@)
 
 clean:
diff --git a/gherkin/java/assembly.xml b/gherkin/java/assembly.xml
new file mode 100644
index 0000000000..7d3f632256
--- /dev/null
+++ b/gherkin/java/assembly.xml
@@ -0,0 +1,24 @@
+<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
+
+    <id>gherkin-jar-with-executables</id>
+    <formats>
+        <format>jar</format>
+    </formats>
+    <includeBaseDirectory>false</includeBaseDirectory>
+    <dependencySets>
+        <dependencySet>
+            <outputDirectory>/</outputDirectory>
+            <useProjectArtifact>true</useProjectArtifact>
+            <useTransitiveDependencies>false</useTransitiveDependencies>
+            <unpack>true</unpack>
+            <scope>runtime</scope>
+        </dependencySet>
+    </dependencySets>
+    <fileSets>
+        <fileSet>
+            <directory>gherkin-go</directory>
+        </fileSet>
+    </fileSets>
+</assembly>
diff --git a/gherkin/java/pom.xml b/gherkin/java/pom.xml
index b07bd6644e..85076e5641 100644
--- a/gherkin/java/pom.xml
+++ b/gherkin/java/pom.xml
@@ -81,6 +81,27 @@
 
     <build>
         <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <version>3.1.0</version>
+                <configuration>
+                    <appendAssemblyId>false</appendAssemblyId>
+                    <descriptors>
+                        <descriptor>assembly.xml</descriptor>
+                    </descriptors>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>make-assembly</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>single</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
diff --git a/gherkin/java/src/main/java/io/cucumber/gherkin/MagicFile.java b/gherkin/java/src/main/java/io/cucumber/gherkin/MagicFile.java
new file mode 100644
index 0000000000..ed892a4a23
--- /dev/null
+++ b/gherkin/java/src/main/java/io/cucumber/gherkin/MagicFile.java
@@ -0,0 +1,105 @@
+package io.cucumber.gherkin;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.Map;
+
+/**
+ * A Magic File can be extracted from a Jar file.
+ */
+public class MagicFile {
+    private final Map<Object, Object> props;
+    private final String fileName;
+    private final File targetFile;
+    private final File targetDir;
+
+    /**
+     * @param fileNamePattern A string that contains <pre>{{.OS}}</pre> anb <pre>{{.Arch}}</pre>, which will be replaced
+     *                        with platform-specific values
+     */
+    public MagicFile(String fileNamePattern) {
+        this(fileNamePattern, System.getProperties());
+    }
+
+    MagicFile(String executablePattern, Map<Object, Object> props) {
+        this.props = props;
+        String formatPattern = executablePattern.replace("{{.OS}}", "%s").replace("{{.Arch}}", "%s");
+        this.fileName = String.format(formatPattern, getOs(), getArch());
+        File codeFile = new File(getClass().getProtectionDomain().getCodeSource().getLocation().getFile());
+        targetDir = codeFile.isDirectory() ? codeFile : codeFile.getParentFile();
+        targetFile = new File(targetDir, new File(fileName).getName());
+    }
+
+    /**
+     * Extracts the file. The file is made executable, and will be deleted when the VM exits.
+     * @return the extracted file.
+     */
+    public File extract() {
+        try {
+            File targetFile = getTargetFile();
+
+            String resourcePath = "/" + fileName;
+            FileOutputStream os = null;
+            InputStream is = getClass().getResourceAsStream(resourcePath);
+            if (is == null) {
+                File file = new File(fileName);
+                if (!file.isFile()) {
+                    throw new GherkinException(String.format("%s not found. I looked in the jar and on the file system: ", fileName));
+                }
+                is = new FileInputStream(fileName);
+            }
+
+            try {
+                os = new FileOutputStream(targetFile);
+                copy(is, os);
+            } finally {
+                is.close();
+                if (os != null) os.close();
+            }
+            targetFile.setExecutable(true);
+            targetFile.deleteOnExit();
+            return targetFile;
+        } catch (IOException e) {
+            throw new GherkinException(e);
+        }
+    }
+
+    String getOs() {
+        String osName = ((String) props.get("os.name")).toLowerCase();
+        if (osName.contains("mac")) {
+            return "darwin";
+        }
+        return null;
+    }
+
+    String getArch() {
+        String osArch = ((String) props.get("os.arch")).toLowerCase();
+        if (osArch.contains("x86_64")) {
+            return "386";
+        }
+        return null;
+    }
+
+    String getFileName() {
+        return fileName;
+    }
+
+    File getTargetDir() {
+        return targetDir;
+    }
+
+    File getTargetFile() {
+        return targetFile;
+    }
+
+    private static void copy(InputStream in, OutputStream out) throws IOException {
+        int read = 0;
+        byte[] buf = new byte[4096];
+        while ((read = in.read(buf)) > 0) out.write(buf, 0, read);
+    }
+
+}
diff --git a/gherkin/java/src/main/java/io/cucumber/gherkin/Main.java b/gherkin/java/src/main/java/io/cucumber/gherkin/Main.java
index a5ed230540..7a59b3b5cd 100644
--- a/gherkin/java/src/main/java/io/cucumber/gherkin/Main.java
+++ b/gherkin/java/src/main/java/io/cucumber/gherkin/Main.java
@@ -13,15 +13,13 @@
 public class Main {
 
     public static void main(String[] argv) throws IOException {
-        Printer printer = JsonFormat.printer();
-
         List<String> args = new ArrayList<>(asList(argv));
         List<String> paths = new ArrayList<>();
 
         boolean includeSource = true;
         boolean includeAst = true;
         boolean includePickles = true;
-        boolean json = false;
+        Printer jsonPrinter = null;
 
         while (!args.isEmpty()) {
             String arg = args.remove(0).trim();
@@ -37,31 +35,30 @@ public static void main(String[] argv) throws IOException {
                     includePickles = false;
                     break;
                 case "--json":
-                    json = true;
+                    jsonPrinter = JsonFormat.printer();
                     break;
                 default:
                     paths.add(arg);
             }
         }
 
-        String gherkinExecutable = System.getenv("GHERKIN_EXECUTABLE");
         if (paths.isEmpty()) {
             CucumberMessages cucumberMessages = new ProtobufCucumberMessages(System.in);
-            printMessages(printer, json, cucumberMessages);
-        } else if (gherkinExecutable != null) {
-            CucumberMessages cucumberMessages = new SubprocessCucumberMessages(gherkinExecutable, paths, includeSource, includeAst, includePickles);
-            printMessages(printer, json, cucumberMessages);
+            printMessages(jsonPrinter, cucumberMessages);
+        } else {
+            CucumberMessages cucumberMessages = new SubprocessCucumberMessages(paths, includeSource, includeAst, includePickles);
+            printMessages(jsonPrinter, cucumberMessages);
         }
     }
 
-    private static void printMessages(Printer printer, boolean protobuf, CucumberMessages cucumberMessages) throws IOException {
+    private static void printMessages(Printer jsonPrinter, CucumberMessages cucumberMessages) throws IOException {
         for (Wrapper wrapper : cucumberMessages.messages()) {
-            if (protobuf) {
-                wrapper.writeDelimitedTo(System.out);
-            } else {
-                Stdio.out.write(printer.print(wrapper));
+            if (jsonPrinter != null) {
+                Stdio.out.write(jsonPrinter.print(wrapper));
                 Stdio.out.write("\n");
                 Stdio.out.flush();
+            } else {
+                wrapper.writeDelimitedTo(System.out);
             }
         }
     }
diff --git a/gherkin/java/src/main/java/io/cucumber/gherkin/SubprocessCucumberMessages.java b/gherkin/java/src/main/java/io/cucumber/gherkin/SubprocessCucumberMessages.java
index b6d418d6d0..c0cf16385c 100644
--- a/gherkin/java/src/main/java/io/cucumber/gherkin/SubprocessCucumberMessages.java
+++ b/gherkin/java/src/main/java/io/cucumber/gherkin/SubprocessCucumberMessages.java
@@ -13,14 +13,12 @@
  * Spawns a subprocess and reads messages from that process' STDOUT (as Protobuf messages)
  */
 public class SubprocessCucumberMessages implements CucumberMessages {
-    private final String cucumberExecutable;
     private final List<String> paths;
     private final boolean includeSource;
     private final boolean includeAst;
     private final boolean includePickles;
 
-    public SubprocessCucumberMessages(String gherkinExecutable, List<String> paths, boolean includeSource, boolean includeAst, boolean includePickles) {
-        this.cucumberExecutable = gherkinExecutable;
+    public SubprocessCucumberMessages(List<String> paths, boolean includeSource, boolean includeAst, boolean includePickles) {
         this.paths = paths;
         this.includeSource = includeSource;
         this.includeAst = includeAst;
@@ -29,9 +27,12 @@ public SubprocessCucumberMessages(String gherkinExecutable, List<String> paths,
 
     @Override
     public List<Wrapper> messages() {
+        MagicFile magicFile = new MagicFile("gherkin-go/gherkin-{{.OS}}-{{.Arch}}");
+        magicFile.extract();
+
         try {
             List<String> args = new ArrayList<>();
-            args.add(cucumberExecutable);
+            args.add(magicFile.getTargetFile().getAbsolutePath());
             if (!includeSource) args.add("--no-source");
             if (!includeAst) args.add("--no-ast");
             if (!includePickles) args.add("--no-pickles");
diff --git a/gherkin/java/src/test/java/io/cucumber/gherkin/MagicFileTest.java b/gherkin/java/src/test/java/io/cucumber/gherkin/MagicFileTest.java
new file mode 100644
index 0000000000..b065a1f702
--- /dev/null
+++ b/gherkin/java/src/test/java/io/cucumber/gherkin/MagicFileTest.java
@@ -0,0 +1,48 @@
+package io.cucumber.gherkin;
+
+import org.junit.Test;
+
+import java.io.File;
+import java.util.HashMap;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+public class MagicFileTest {
+
+    @Test
+    public void detects_osx() {
+        MagicFile magicFile = new MagicFile("", new HashMap<Object, Object>() {{
+            put("os.name", "Mac OS X");
+            put("os.arch", "x86_64");
+        }});
+
+        assertEquals("darwin", magicFile.getOs());
+        assertEquals("386", magicFile.getArch());
+    }
+
+    @Test
+    public void generates_file_name() {
+        MagicFile magicFile = new MagicFile("gherkin-{{.OS}}-{{.Arch}}", new HashMap<Object, Object>() {{
+            put("os.name", "Mac OS X");
+            put("os.arch", "x86_64");
+        }});
+        assertEquals("gherkin-darwin-386", magicFile.getFileName());
+    }
+
+    @Test
+    public void extracts_file() {
+        MagicFile magicFile = new MagicFile("README.md", new HashMap<Object, Object>() {{
+            put("os.name", "Mac OS X");
+            put("os.arch", "x86_64");
+        }});
+
+        File targetFile = magicFile.getTargetFile();
+        targetFile.delete();
+        magicFile.extract();
+        magicFile.extract();
+        System.out.println("targetFile = " + magicFile.getTargetDir());
+        assertTrue(targetFile.isFile());
+    }
+
+}
diff --git a/gherkin/java/src/test/java/io/cucumber/gherkin/SubprocessCucumberMessagesTest.java b/gherkin/java/src/test/java/io/cucumber/gherkin/SubprocessCucumberMessagesTest.java
index ba30dff203..ea884517e6 100644
--- a/gherkin/java/src/test/java/io/cucumber/gherkin/SubprocessCucumberMessagesTest.java
+++ b/gherkin/java/src/test/java/io/cucumber/gherkin/SubprocessCucumberMessagesTest.java
@@ -1,6 +1,5 @@
 package io.cucumber.gherkin;
 
-import io.cucumber.gherkin.SubprocessCucumberMessages;
 import io.cucumber.messages.Messages;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -14,9 +13,8 @@ public class SubprocessCucumberMessagesTest {
     @Ignore
     @Test
     public void executes_child_and_processes_its_stdout() {
-        SubprocessCucumberMessages cucumberMessages = new SubprocessCucumberMessages("../javascript/bin/gherkin", singletonList("testdata/good/minimal.feature"), true, true, true);
+        SubprocessCucumberMessages cucumberMessages = new SubprocessCucumberMessages(singletonList("testdata/good/minimal.feature"), true, true, true);
         List<Messages.Wrapper> messages = cucumberMessages.messages();
         assertEquals(3, messages.size());
     }
-
 }

From fd767b494e6af5608440e2d30464bfc0fc06f16d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Aslak=20Helles=C3=B8y?= <aslak.hellesoy@gmail.com>
Date: Tue, 3 Jul 2018 10:46:56 +0100
Subject: [PATCH 3/6] gherkin: java: Make exe extraction more robust

---
 gherkin/java/pom.xml                          |  6 ++
 .../java/io/cucumber/gherkin/MagicFile.java   | 73 ++++++++++++-------
 .../gherkin/SubprocessCucumberMessages.java   |  5 +-
 .../io/cucumber/gherkin/MagicFileTest.java    | 39 +++++++++-
 4 files changed, 94 insertions(+), 29 deletions(-)

diff --git a/gherkin/java/pom.xml b/gherkin/java/pom.xml
index 85076e5641..8b50fa7b41 100644
--- a/gherkin/java/pom.xml
+++ b/gherkin/java/pom.xml
@@ -90,6 +90,12 @@
                     <descriptors>
                         <descriptor>assembly.xml</descriptor>
                     </descriptors>
+                    <archive>
+                        <manifest>
+                            <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+                            <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+                        </manifest>
+                    </archive>
                 </configuration>
                 <executions>
                     <execution>
diff --git a/gherkin/java/src/main/java/io/cucumber/gherkin/MagicFile.java b/gherkin/java/src/main/java/io/cucumber/gherkin/MagicFile.java
index ed892a4a23..91eb88f282 100644
--- a/gherkin/java/src/main/java/io/cucumber/gherkin/MagicFile.java
+++ b/gherkin/java/src/main/java/io/cucumber/gherkin/MagicFile.java
@@ -2,20 +2,24 @@
 
 import java.io.File;
 import java.io.FileInputStream;
+import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.net.URL;
+import java.net.URLConnection;
+import java.net.UnknownHostException;
 import java.util.Map;
 
 /**
- * A Magic File can be extracted from a Jar file.
+ * A Magic File can be extracted from a Jar file or downloaded from the World Wide Web.
  */
 public class MagicFile {
+    private static boolean deleteOnExit;
     private final Map<Object, Object> props;
     private final String fileName;
     private final File targetFile;
-    private final File targetDir;
 
     /**
      * @param fileNamePattern A string that contains <pre>{{.OS}}</pre> anb <pre>{{.Arch}}</pre>, which will be replaced
@@ -30,44 +34,68 @@ public MagicFile(String fileNamePattern) {
         String formatPattern = executablePattern.replace("{{.OS}}", "%s").replace("{{.Arch}}", "%s");
         this.fileName = String.format(formatPattern, getOs(), getArch());
         File codeFile = new File(getClass().getProtectionDomain().getCodeSource().getLocation().getFile());
-        targetDir = codeFile.isDirectory() ? codeFile : codeFile.getParentFile();
+        File targetDir = codeFile.isDirectory() ? codeFile : codeFile.getParentFile();
         targetFile = new File(targetDir, new File(fileName).getName());
     }
 
+    public static void deleteOnExit() {
+        deleteOnExit = true;
+    }
+
     /**
      * Extracts the file. The file is made executable, and will be deleted when the VM exits.
+     *
      * @return the extracted file.
      */
     public File extract() {
         try {
-            File targetFile = getTargetFile();
-
-            String resourcePath = "/" + fileName;
-            FileOutputStream os = null;
-            InputStream is = getClass().getResourceAsStream(resourcePath);
-            if (is == null) {
-                File file = new File(fileName);
-                if (!file.isFile()) {
-                    throw new GherkinException(String.format("%s not found. I looked in the jar and on the file system: ", fileName));
-                }
-                is = new FileInputStream(fileName);
-            }
+            InputStream is = getInputStream();
 
-            try {
-                os = new FileOutputStream(targetFile);
+            try (FileOutputStream os = new FileOutputStream(targetFile)) {
                 copy(is, os);
-            } finally {
                 is.close();
-                if (os != null) os.close();
             }
             targetFile.setExecutable(true);
-            targetFile.deleteOnExit();
+            targetFile.setLastModified(System.currentTimeMillis());
+            if (deleteOnExit) targetFile.deleteOnExit();
             return targetFile;
         } catch (IOException e) {
             throw new GherkinException(e);
         }
     }
 
+    private InputStream getInputStream() throws IOException {
+        File file = new File(fileName);
+        if (file.isFile()) return new FileInputStream(fileName);
+
+        InputStream is = getClass().getResourceAsStream("/" + fileName);
+        if (is != null) return is;
+
+        return newUrlInputStream(fileName, targetFile);
+    }
+
+    private InputStream newUrlInputStream(String fileName, File targetFile) throws IOException {
+        URL baseUrl = new URL("https://s3.eu-west-2.amazonaws.com/io.cucumber/gherkin-go/" + getVersion() + "/");
+        URL fileUrl = new URL(baseUrl, fileName);
+        URLConnection con = fileUrl.openConnection();
+        con.setRequestProperty("User-Agent", "Mozilla");
+        try {
+            return con.getInputStream();
+        } catch (UnknownHostException | FileNotFoundException e) {
+            throw new GherkinException(String.format("Failed to download %s.\nTry downloading it manually and place it in %s", fileUrl, targetFile.getAbsolutePath()));
+        }
+    }
+
+    private String getVersion() {
+        Package p = getClass().getPackage();
+        // This is set in pom.xml
+        String version = p.getImplementationVersion();
+        if (version == null || version.endsWith("-SNAPSHOT")) {
+            version = "master";
+        }
+        return version;
+    }
+
     String getOs() {
         String osName = ((String) props.get("os.name")).toLowerCase();
         if (osName.contains("mac")) {
@@ -88,10 +116,6 @@ String getFileName() {
         return fileName;
     }
 
-    File getTargetDir() {
-        return targetDir;
-    }
-
     File getTargetFile() {
         return targetFile;
     }
@@ -101,5 +125,4 @@ private static void copy(InputStream in, OutputStream out) throws IOException {
         byte[] buf = new byte[4096];
         while ((read = in.read(buf)) > 0) out.write(buf, 0, read);
     }
-
 }
diff --git a/gherkin/java/src/main/java/io/cucumber/gherkin/SubprocessCucumberMessages.java b/gherkin/java/src/main/java/io/cucumber/gherkin/SubprocessCucumberMessages.java
index c0cf16385c..440acebc31 100644
--- a/gherkin/java/src/main/java/io/cucumber/gherkin/SubprocessCucumberMessages.java
+++ b/gherkin/java/src/main/java/io/cucumber/gherkin/SubprocessCucumberMessages.java
@@ -27,8 +27,9 @@ public SubprocessCucumberMessages(List<String> paths, boolean includeSource, boo
 
     @Override
     public List<Wrapper> messages() {
-        MagicFile magicFile = new MagicFile("gherkin-go/gherkin-{{.OS}}-{{.Arch}}");
-        magicFile.extract();
+        MagicFile magicFile = new MagicFile("gherkin-{{.OS}}-{{.Arch}}");
+        if (!magicFile.getTargetFile().isFile())
+            magicFile.extract();
 
         try {
             List<String> args = new ArrayList<>();
diff --git a/gherkin/java/src/test/java/io/cucumber/gherkin/MagicFileTest.java b/gherkin/java/src/test/java/io/cucumber/gherkin/MagicFileTest.java
index b065a1f702..ff51913cdb 100644
--- a/gherkin/java/src/test/java/io/cucumber/gherkin/MagicFileTest.java
+++ b/gherkin/java/src/test/java/io/cucumber/gherkin/MagicFileTest.java
@@ -1,6 +1,9 @@
 package io.cucumber.gherkin;
 
+import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
+import org.junit.rules.ExpectedException;
 
 import java.io.File;
 import java.util.HashMap;
@@ -10,6 +13,14 @@
 
 public class MagicFileTest {
 
+    @Rule
+    public ExpectedException expected = ExpectedException.none();
+
+    @Before
+    public void setup() {
+        MagicFile.deleteOnExit();
+    }
+
     @Test
     public void detects_osx() {
         MagicFile magicFile = new MagicFile("", new HashMap<Object, Object>() {{
@@ -31,7 +42,7 @@ public void generates_file_name() {
     }
 
     @Test
-    public void extracts_file() {
+    public void extracts_file_from_file_system() {
         MagicFile magicFile = new MagicFile("README.md", new HashMap<Object, Object>() {{
             put("os.name", "Mac OS X");
             put("os.arch", "x86_64");
@@ -40,9 +51,33 @@ public void extracts_file() {
         File targetFile = magicFile.getTargetFile();
         targetFile.delete();
         magicFile.extract();
+        assertTrue(targetFile.isFile());
+    }
+
+    @Test
+    public void downloads_file_from_s3() {
+        MagicFile magicFile = new MagicFile("gherkin-{{.OS}}-{{.Arch}}", new HashMap<Object, Object>() {{
+            put("os.name", "Mac OS X");
+            put("os.arch", "x86_64");
+        }});
+
+        File targetFile = magicFile.getTargetFile();
+        targetFile.delete();
         magicFile.extract();
-        System.out.println("targetFile = " + magicFile.getTargetDir());
         assertTrue(targetFile.isFile());
     }
 
+    @Test
+    public void throws_exception_with_explanation_when_file_not_found() {
+        expected.expectMessage("Failed to download https://s3.eu-west-2.amazonaws.com/io.cucumber/gherkin-go/master/notfound-darwin-386");
+        MagicFile magicFile = new MagicFile("notfound-{{.OS}}-{{.Arch}}", new HashMap<Object, Object>() {{
+            put("os.name", "Mac OS X");
+            put("os.arch", "x86_64");
+        }});
+
+        File targetFile = magicFile.getTargetFile();
+        targetFile.delete();
+        magicFile.extract();
+        assertTrue(targetFile.isFile());
+    }
 }

From 8702cfdf9af2409f9a7e1ac28fbfe7edbb123b6a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Aslak=20Helles=C3=B8y?= <aslak.hellesoy@gmail.com>
Date: Tue, 3 Jul 2018 11:54:51 +0100
Subject: [PATCH 4/6] gherkin: java: detect more platforms

---
 .../java/io/cucumber/gherkin/MagicFile.java   | 128 ++++++++++++++++--
 .../io/cucumber/gherkin/MagicFileTest.java    |  19 ++-
 2 files changed, 132 insertions(+), 15 deletions(-)

diff --git a/gherkin/java/src/main/java/io/cucumber/gherkin/MagicFile.java b/gherkin/java/src/main/java/io/cucumber/gherkin/MagicFile.java
index 91eb88f282..3589e08f4d 100644
--- a/gherkin/java/src/main/java/io/cucumber/gherkin/MagicFile.java
+++ b/gherkin/java/src/main/java/io/cucumber/gherkin/MagicFile.java
@@ -10,6 +10,7 @@
 import java.net.URL;
 import java.net.URLConnection;
 import java.net.UnknownHostException;
+import java.util.Locale;
 import java.util.Map;
 
 /**
@@ -31,13 +32,20 @@ public MagicFile(String fileNamePattern) {
 
     MagicFile(String executablePattern, Map<Object, Object> props) {
         this.props = props;
-        String formatPattern = executablePattern.replace("{{.OS}}", "%s").replace("{{.Arch}}", "%s");
-        this.fileName = String.format(formatPattern, getOs(), getArch());
+        String formatPattern = executablePattern
+                .replace("{{.OS}}", "%s")
+                .replace("{{.Arch}}", "%s")
+                .replace("{{.Ext}}", "%s");
+        this.fileName = String.format(formatPattern, getOs(), getArch(), getExt());
         File codeFile = new File(getClass().getProtectionDomain().getCodeSource().getLocation().getFile());
         File targetDir = codeFile.isDirectory() ? codeFile : codeFile.getParentFile();
         targetFile = new File(targetDir, new File(fileName).getName());
     }
 
+    private String getExt() {
+        return "windows".equals(getOs()) ? ".exe" : "";
+    }
+
     public static void deleteOnExit() {
         deleteOnExit = true;
     }
@@ -97,19 +105,119 @@ private String getVersion() {
     }
 
     String getOs() {
-        String osName = ((String) props.get("os.name")).toLowerCase();
-        if (osName.contains("mac")) {
-            return "darwin";
-        }
-        return null;
+        return normalizeOs((String) props.get("os.name"));
     }
 
     String getArch() {
-        String osArch = ((String) props.get("os.arch")).toLowerCase();
-        if (osArch.contains("x86_64")) {
+        return normalizeArch((String) props.get("os.arch"));
+    }
+
+    private static String normalize(String value) {
+        if (value == null) {
+            return "";
+        }
+        return value.toLowerCase(Locale.US).replaceAll("[^a-z0-9]+", "");
+    }
+
+    // https://github.com/trustin/os-maven-plugin/blob/master/src/main/java/kr/motd/maven/os/Detector.java
+    // https://gist.github.com/asukakenji/f15ba7e588ac42795f421b48b8aede63
+    private static String normalizeArch(String value) {
+        value = normalize(value);
+        if (value.matches("^(x8664|amd64|ia32e|em64t|x64)$")) {
+            return "amd64";
+        }
+        if (value.matches("^(x8632|x86|i[3-6]86|ia32|x32)$")) {
             return "386";
         }
-        return null;
+        if (value.matches("^(ia64w?|itanium64)$")) {
+            return "itanium_64"; // TODO - not supported by https://github.com/mitchellh/gox ?
+        }
+        if ("ia64n".equals(value)) {
+            return "itanium_32"; // TODO - not supported by https://github.com/mitchellh/gox ?
+        }
+        if (value.matches("^(sparc|sparc32)$")) {
+            return "sparc_32"; // TODO - not supported by https://github.com/mitchellh/gox ?
+        }
+        if (value.matches("^(sparcv9|sparc64)$")) {
+            return "sparc_64"; // TODO - not supported by https://github.com/mitchellh/gox ?
+        }
+        if (value.matches("^(arm|arm32)$")) {
+            return "arm";
+        }
+        if ("aarch64".equals(value)) {
+            return "aarch_64"; // TODO - not supported by https://github.com/mitchellh/gox ?
+        }
+        if (value.matches("^(mips|mips32)$")) {
+            return "mips";
+        }
+        if (value.matches("^(mipsel|mips32el)$")) { // TODO - Is this a typo? Should it be mipsle|mips32le ?
+            return "mipsle";
+        }
+        if ("mips64".equals(value)) {
+            return "mips64";
+        }
+        if ("mips64el".equals(value)) { // TODO - Is this a typo? Should it be mips64le?
+            return "mips64le";
+        }
+        if (value.matches("^(ppc|ppc32)$")) {
+            return "ppc_32"; // TODO - not supported by https://github.com/mitchellh/gox ?
+        }
+        if (value.matches("^(ppcle|ppc32le)$")) {
+            return "ppcle_32"; // TODO - not supported by https://github.com/mitchellh/gox ?
+        }
+        if ("ppc64".equals(value)) {
+            return "ppc_64"; // TODO - not supported by https://github.com/mitchellh/gox ?
+        }
+        if ("ppc64le".equals(value)) {
+            return "ppcle_64"; // TODO - not supported by https://github.com/mitchellh/gox ?
+        }
+        if ("s390".equals(value)) {
+            return "s390_32"; // TODO - not supported by https://github.com/mitchellh/gox ?
+        }
+        if ("s390x".equals(value)) {
+            return "s390x";
+        }
+
+        return "unknown";
+    }
+
+    private static String normalizeOs(String value) {
+        value = normalize(value);
+        if (value.startsWith("aix")) {
+            return "aix"; // TODO - not supported by https://github.com/mitchellh/gox ?
+        }
+        if (value.startsWith("hpux")) {
+            return "hpux"; // TODO - not supported by https://github.com/mitchellh/gox ?
+        }
+        if (value.startsWith("os400")) {
+            // Avoid the names such as os4000
+            if (value.length() <= 5 || !Character.isDigit(value.charAt(5))) {
+                return "os400"; // TODO - not supported by https://github.com/mitchellh/gox ?
+            }
+        }
+        if (value.startsWith("linux")) {
+            return "linux";
+        }
+        if (value.startsWith("macosx") || value.startsWith("osx")) {
+            return "darwin";
+        }
+        if (value.startsWith("freebsd")) {
+            return "freebsd";
+        }
+        if (value.startsWith("openbsd")) {
+            return "openbsd";
+        }
+        if (value.startsWith("netbsd")) {
+            return "netbsd";
+        }
+        if (value.startsWith("solaris") || value.startsWith("sunos")) {
+            return "sunos";
+        }
+        if (value.startsWith("windows")) {
+            return "windows";
+        }
+
+        return "unknown";
     }
 
     String getFileName() {
diff --git a/gherkin/java/src/test/java/io/cucumber/gherkin/MagicFileTest.java b/gherkin/java/src/test/java/io/cucumber/gherkin/MagicFileTest.java
index ff51913cdb..a2af05958b 100644
--- a/gherkin/java/src/test/java/io/cucumber/gherkin/MagicFileTest.java
+++ b/gherkin/java/src/test/java/io/cucumber/gherkin/MagicFileTest.java
@@ -29,16 +29,25 @@ public void detects_osx() {
         }});
 
         assertEquals("darwin", magicFile.getOs());
-        assertEquals("386", magicFile.getArch());
+        assertEquals("amd64", magicFile.getArch());
     }
 
     @Test
-    public void generates_file_name() {
-        MagicFile magicFile = new MagicFile("gherkin-{{.OS}}-{{.Arch}}", new HashMap<Object, Object>() {{
+    public void generates_file_name_for_macos() {
+        MagicFile magicFile = new MagicFile("gherkin-{{.OS}}-{{.Arch}}{{.Ext}}", new HashMap<Object, Object>() {{
             put("os.name", "Mac OS X");
             put("os.arch", "x86_64");
         }});
-        assertEquals("gherkin-darwin-386", magicFile.getFileName());
+        assertEquals("gherkin-darwin-amd64", magicFile.getFileName());
+    }
+
+    @Test
+    public void generates_file_name_for_windows() {
+        MagicFile magicFile = new MagicFile("gherkin-{{.OS}}-{{.Arch}}{{.Ext}}", new HashMap<Object, Object>() {{
+            put("os.name", "Windows 10");
+            put("os.arch", "x86_32");
+        }});
+        assertEquals("gherkin-windows-386.exe", magicFile.getFileName());
     }
 
     @Test
@@ -69,7 +78,7 @@ public void downloads_file_from_s3() {
 
     @Test
     public void throws_exception_with_explanation_when_file_not_found() {
-        expected.expectMessage("Failed to download https://s3.eu-west-2.amazonaws.com/io.cucumber/gherkin-go/master/notfound-darwin-386");
+        expected.expectMessage("Failed to download https://s3.eu-west-2.amazonaws.com/io.cucumber/gherkin-go/master/notfound-darwin-amd64");
         MagicFile magicFile = new MagicFile("notfound-{{.OS}}-{{.Arch}}", new HashMap<Object, Object>() {{
             put("os.name", "Mac OS X");
             put("os.arch", "x86_64");

From 6d427b8055433f4041bdbe9eeb38e281abc2ad63 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Aslak=20Helles=C3=B8y?= <aslak.hellesoy@gmail.com>
Date: Tue, 3 Jul 2018 12:19:56 +0100
Subject: [PATCH 5/6] gherkin: java: Bundle linux/windows/darwin binaries in
 jar when building a tag

---
 gherkin/java/.gitignore                       |  1 +
 gherkin/java/Makefile                         | 25 +++++++++++++++++--
 .../java/io/cucumber/gherkin/MagicFile.java   |  2 +-
 3 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/gherkin/java/.gitignore b/gherkin/java/.gitignore
index abacee925a..064047b642 100644
--- a/gherkin/java/.gitignore
+++ b/gherkin/java/.gitignore
@@ -5,3 +5,4 @@ acceptance/
 .built
 .compared
 dependency-reduced-pom.xml
+gherkin-go/
diff --git a/gherkin/java/Makefile b/gherkin/java/Makefile
index 82c396efcd..2c1f9bf849 100644
--- a/gherkin/java/Makefile
+++ b/gherkin/java/Makefile
@@ -11,6 +11,12 @@ ERRORS       = $(patsubst testdata/%.feature,acceptance/testdata/%.feature.error
 
 JAVA_FILES = $(shell find . -name "*.java")
 
+ifdef TRAVIS_TAG
+	DOWNLOAD_BINARIES_TARGET=gherkin-go
+else
+	DOWNLOAD_BINARIES_TARGET=no-gherkin-go
+endif
+
 .DELETE_ON_ERROR:
 
 default: .compared
@@ -19,10 +25,25 @@ default: .compared
 .compared: $(PROTOBUFS) $(ASTS) $(PICKLES) $(ERRORS) $(SOURCES)
 	touch $@
 
-.built: $(JAVA_FILES) LICENSE pom.xml
+.built: $(JAVA_FILES) LICENSE pom.xml $(DOWNLOAD_BINARIES_TARGET)
 	mvn install
 	touch $@
 
+# Downloads the most common platform binaries, which will be included in the jar
+# The jar will download other binaries at runtime if they are not bundles
+gherkin-go:
+	mkdir -p $@
+	curl https://s3.eu-west-2.amazonaws.com/io.cucumber/gherkin-go/${TRAVIS_TAG}/gherkin-darwin-amd64      -o gherkin-go/gherkin-darwin-amd64
+	curl https://s3.eu-west-2.amazonaws.com/io.cucumber/gherkin-go/${TRAVIS_TAG}/gherkin-darwin-386        -o gherkin-go/gherkin-darwin-386
+	curl https://s3.eu-west-2.amazonaws.com/io.cucumber/gherkin-go/${TRAVIS_TAG}/gherkin-linux-amd64       -o gherkin-go/gherkin-linux-amd64
+	curl https://s3.eu-west-2.amazonaws.com/io.cucumber/gherkin-go/${TRAVIS_TAG}/gherkin-linux-386         -o gherkin-go/gherkin-linux-386
+	curl https://s3.eu-west-2.amazonaws.com/io.cucumber/gherkin-go/${TRAVIS_TAG}/gherkin-windows-amd64.exe -o gherkin-go/gherkin-windows-amd64.exe
+	curl https://s3.eu-west-2.amazonaws.com/io.cucumber/gherkin-go/${TRAVIS_TAG}/gherkin-windows-386.exe   -o gherkin-go/gherkin-windows-386.exe
+
+no-gherkin-go:
+	echo "Not downloading binaries, because TRAVIS_TAG is not defined"
+.PHONY: no-gherkin-go
+
 # # Generate
 # acceptance/testdata/%.feature.ast.ndjson: testdata/%.feature .built
 # 	mkdir -p `dirname $@`
@@ -79,5 +100,5 @@ acceptance/testdata/%.feature.errors.ndjson: testdata/%.feature testdata/%.featu
 	diff --unified <(jq "." $<.errors.ndjson) <(jq "." $@)
 
 clean:
-	rm -rf .compared .built acceptance target
+	rm -rf .compared .built acceptance target gherkin-go
 .PHONY: clean
diff --git a/gherkin/java/src/main/java/io/cucumber/gherkin/MagicFile.java b/gherkin/java/src/main/java/io/cucumber/gherkin/MagicFile.java
index 3589e08f4d..5b3ce8c105 100644
--- a/gherkin/java/src/main/java/io/cucumber/gherkin/MagicFile.java
+++ b/gherkin/java/src/main/java/io/cucumber/gherkin/MagicFile.java
@@ -76,7 +76,7 @@ private InputStream getInputStream() throws IOException {
         File file = new File(fileName);
         if (file.isFile()) return new FileInputStream(fileName);
 
-        InputStream is = getClass().getResourceAsStream("/" + fileName);
+        InputStream is = getClass().getResourceAsStream("/gherkin-go/" + fileName);
         if (is != null) return is;
 
         return newUrlInputStream(fileName, targetFile);

From 53838598cfa79a81223ced0199aed94d42c980c8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Aslak=20Helles=C3=B8y?= <aslak.hellesoy@gmail.com>
Date: Tue, 3 Jul 2018 12:22:18 +0100
Subject: [PATCH 6/6] gherkin: Add {{.Ext}}

---
 .../java/src/test/java/io/cucumber/gherkin/MagicFileTest.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gherkin/java/src/test/java/io/cucumber/gherkin/MagicFileTest.java b/gherkin/java/src/test/java/io/cucumber/gherkin/MagicFileTest.java
index a2af05958b..11fd6cdf9b 100644
--- a/gherkin/java/src/test/java/io/cucumber/gherkin/MagicFileTest.java
+++ b/gherkin/java/src/test/java/io/cucumber/gherkin/MagicFileTest.java
@@ -65,7 +65,7 @@ public void extracts_file_from_file_system() {
 
     @Test
     public void downloads_file_from_s3() {
-        MagicFile magicFile = new MagicFile("gherkin-{{.OS}}-{{.Arch}}", new HashMap<Object, Object>() {{
+        MagicFile magicFile = new MagicFile("gherkin-{{.OS}}-{{.Arch}}{{.Ext}}", new HashMap<Object, Object>() {{
             put("os.name", "Mac OS X");
             put("os.arch", "x86_64");
         }});
@@ -79,7 +79,7 @@ public void downloads_file_from_s3() {
     @Test
     public void throws_exception_with_explanation_when_file_not_found() {
         expected.expectMessage("Failed to download https://s3.eu-west-2.amazonaws.com/io.cucumber/gherkin-go/master/notfound-darwin-amd64");
-        MagicFile magicFile = new MagicFile("notfound-{{.OS}}-{{.Arch}}", new HashMap<Object, Object>() {{
+        MagicFile magicFile = new MagicFile("notfound-{{.OS}}-{{.Arch}}{{.Ext}}", new HashMap<Object, Object>() {{
             put("os.name", "Mac OS X");
             put("os.arch", "x86_64");
         }});