public Parser beepPhrase() {
        if (beepPhraseParser == null) {
           FutureParser future = scoped("beepPhrase");
           beepPhraseParser = future;
           future.setParser(
               sequence(
                   optional(
                       token("NO")
                   ),
                   choice(
                       token("BEEP"),
                       token("BELL")
                   )
               )
           );
        }

        return beepPhraseParser;
    }