public Parser sourceFormattingDirective() {
        if (sourceFormattingDirectiveParser == null) {
           FutureParser future = scoped("sourceFormattingDirective");
           sourceFormattingDirectiveParser = future;
           future.setParser(
               choice(
                   ejectStatement(),
                   skipStatement(),
                   titleStatement()
               )
           );
        }

        return sourceFormattingDirectiveParser;
    }