public Parser fileSection() {
        if (fileSectionParser == null) {
           FutureParser future = scoped("fileSection");
           fileSectionParser = future;
           future.setParser(
               sequence(
                   token("FILE"),
                   token("SECTION"),
                   token("."),
                   optional(
                       fileSectionBody()
                   )
               )
           );
        }

        return fileSectionParser;
    }