public Parser sdFileDescriptionEntry() {
        if (sdFileDescriptionEntryParser == null) {
           FutureParser future = scoped("sdFileDescriptionEntry");
           sdFileDescriptionEntryParser = future;
           future.setParser(
               sequence(
                   token("SD"),
                   fileName(),
                   permuted(
                       blockContains(),
                       dataRecords(),
                       labelRecords(),
                       record(),
                       recordingMode(),
                       valueOfFileId()
                   ),
                   skipto(
                       token(".")
                   ),
                   token(".")
               )
           );
        }

        return sdFileDescriptionEntryParser;
    }