public Parser lessThanOp() {
        if (lessThanOpParser == null) {
           FutureParser future = scoped("lessThanOp");
           lessThanOpParser = future;
           future.setParser(
               choice(
                   sequence(
                       token("LESS"),
                       optional(
                           token("THAN")
                       )
                   ),
                   token("<")
               )
           );
        }

        return lessThanOpParser;
    }