public Parser until() {
        if (untilParser == null) {
           FutureParser future = scoped("until");
           untilParser = future;
           future.setParser(
               sequence(
                   optional(
                       testPosition()
                   ),
                   token("UNTIL"),
                   choice(
                       condition(),
                       token("EXIT")
                   )
               )
           );
        }

        return untilParser;
    }