public Parser alterStatement() {
        if (alterStatementParser == null) {
           FutureParser future = scoped("alterStatement");
           alterStatementParser = future;
           future.setParser(
               sequence(
                   token("ALTER"),
                   plus(
                       sequence(
                           procedureName(),
                           token("TO"),
                           optional(
                               sequence(
                                   token("PROCEED"),
                                   token("TO")
                               )
                           ),
                           procedureName()
                       )
                   )
               )
           );
        }

        return alterStatementParser;
    }