public Parser reserveClause() {
        if (reserveClauseParser == null) {
           FutureParser future = scoped("reserveClause");
           reserveClauseParser = future;
           future.setParser(
               sequence(
                   token("RESERVE"),
                   choice(
                       integer(),
                       token("NO")
                   ),
                   optional(
                       token("ALTERNATE")
                   ),
                   choice(
                       token("AREA"),
                       token("AREAS")
                   )
               )
           );
        }

        return reserveClauseParser;
    }