public Parser replacingPhrase() {
        if (replacingPhraseParser == null) {
           FutureParser future = scoped("replacingPhrase");
           replacingPhraseParser = future;
           future.setParser(
               sequence(
                   token("REPLACING"),
                   star(
                       choice(
                           replacingCharactersPhrase(),
                           replacingAllLeadingFirstOrTrailingPhrase()
                       )
                   )
               )
           );
        }

        return replacingPhraseParser;
    }