public Parser debugDeclarative() {
        if (debugDeclarativeParser == null) {
           FutureParser future = scoped("debugDeclarative");
           debugDeclarativeParser = future;
           future.setParser(
               sequence(
                   optional(
                       token("FOR")
                   ),
                   token("DEBUGGING"),
                   optional(
                       token("ON")
                   ),
                   star(
                       choice(
                           sequence(
                               token("ALL"),
                               token("PROCEDURES")
                           ),
                           sequence(
                               optional(
                                   sequence(
                                       token("ALL"),
                                       optional(
                                           token("REFERENCES")
                                       ),
                                       optional(
                                           token("OF")
                                       )
                                   )
                               ),
                               identifier()
                           ),
                           procedureName(),
                           fileName()
                       )
                   )
               )
           );
        }

        return debugDeclarativeParser;
    }