public Parser copybookHoldingData() {
        if (copybookHoldingDataParser == null) {
           FutureParser future = scoped("copybookHoldingData");
           copybookHoldingDataParser = future;
           future.setParser(
               plus(
                   choice(
                       dataDescriptionEntry(),
                       specialNameStatement(),
                       sequence(
                           fileDescriptionEntry(),
                           star(
                               recordDescriptionEntry()
                           )
                       ),
                       sequence(
                           selectStatement(),
                           optional(
                               token(".")
                           )
                       ),
                       copyStatement(),
                       replaceStatement(),
                       sequence(
                           execStatement(),
                           optional(
                               token(".")
                           )
                       )
                   )
               )
           );
        }

        return copybookHoldingDataParser;
    }