public Parser goToStatement() {
        if (goToStatementParser == null) {
           FutureParser future = scoped("goToStatement");
           goToStatementParser = future;
           future.setParser(
               sequence(
                   token("GO"),
                   optional(
                       token("TO")
                   ),
                   optional(
                       sequence(
                           procedureName(),
                           optional(
                               sequence(
                                   star(
                                       procedureName()
                                   ),
                                   token("DEPENDING"),
                                   optional(
                                       token("ON")
                                   ),
                                   identifier()
                               )
                           )
                       )
                   )
               )
           );
        }

        return goToStatementParser;
    }