public Parser testPosition() {
        if (testPositionParser == null) {
           FutureParser future = scoped("testPosition");
           testPositionParser = future;
           future.setParser(
               sequence(
                   optional(
                       token("WITH")
                   ),
                   token("TEST"),
                   choice(
                       token("BEFORE"),
                       token("AFTER")
                   )
               )
           );
        }

        return testPositionParser;
    }