public Parser communicationSection() {
        if (communicationSectionParser == null) {
           FutureParser future = scoped("communicationSection");
           communicationSectionParser = future;
           future.setParser(
               sequence(
                   token("COMMUNICATION"),
                   token("SECTION"),
                   token("."),
                   star(
                       choice(
                           communicationDescriptionEntry(),
                           recordDescriptionEntry()
                       )
                   )
               )
           );
        }

        return communicationSectionParser;
    }