docs: protected void addPublicanCommonContentToBook(final BuildData buildData) throws BuildProcessingException {
          final ContentSpec contentSpec = buildData.getContentSpec();
          final String commonContentLocale = buildData.getOutputLocale();
          final String commonContentDirectory = buildData.getBuildOptions().getCommonContentDirectory() == null ? BuilderConstants
                  .LINUX_PUBLICAN_COMMON_CONTENT : buildData.getBuildOptions().getCommonContentDirectory();
  
          final String defaultBrand = buildData.getDocBookVersion() == DocBookVersion.DOCBOOK_50 ? BuilderConstants.DEFAULT_DB50_BRAND :
                  BuilderConstants.DEFAULT_DB45_BRAND;
          final String brand = contentSpec.getBrand() == null ? defaultBrand : contentSpec.getBrand();
  
          final String brandDir = commonContentDirectory + (commonContentDirectory.endsWith(
                  "/") ? "" : "/") + brand + File.separator + commonContentLocale + File.separator;
          final String commonBrandDir = commonContentDirectory + (commonContentDirectory.endsWith(
                  "/") ? "" : "/") + BuilderConstants.DEFAULT_DB45_BRAND + File.separator + commonContentLocale + File.separator;
          final String commonEnglishBrandDir = commonContentDirectory + (commonContentDirectory.endsWith(
                  "/") ? "" : "/") + BuilderConstants.DEFAULT_DB45_BRAND + File.separator + "en-US" + File.separator;
  
          /*
           * We need to pull the Conventions.xml, Feedback.xml & Legal_Notice.xml from the publican Common_Content directory.
           * First we need to check if the files exist for the brand, if they don't then we need to check the common directory,
           * starting with the specified locale and defaulting to english.
           */
          for (final String fileName : BuilderConstants.COMMON_CONTENT_FILES) {
              final File brandFile = new File(brandDir + fileName);
  
              // Find the required file
              final String file;
              if (brandFile.exists() && brandFile.isFile()) {
                  file = FileUtilities.readFileContents(brandFile);
              } else {
                  final File commonBrandFile = new File(commonBrandDir + fileName);
                  if (commonBrandFile.exists() && commonBrandFile.isFile()) {
                      file = FileUtilities.readFileContents(commonBrandFile);
                  } else {
                      final File commonEnglishBrandFile = new File(commonEnglishBrandDir + fileName);
                      if (commonEnglishBrandFile.exists() && commonEnglishBrandFile.isFile()) {
                          file = FileUtilities.readFileContents(commonEnglishBrandFile);
                      } else {
                          continue;
                      }
                  }
              }
  
              if (file != null) {
                  // Set the root element name based on the file
                  final String rootElementName;
                  if (fileName.equals("Program_Listing.xml")) {
                      rootElementName = "programlisting";
                  } else if (fileName.equals("Legal_Notice.xml")) {
                      rootElementName = "legalnotice";
                  } else {
                      rootElementName = "section";
                  }
  
                  // Fix the Doctype
                  final String entityFileName = "../" + buildData.getEntityFileName();
                  final String fixedFile = DocBookBuildUtilities.addDocBookPreamble(buildData.getDocBookVersion(), file, rootElementName,
                          entityFileName);
  
                  // Add the file to the book
                  addToZip(buildData.getBookLocaleFolder() + "Common_Content/" + fileName, fixedFile, buildData);
              }
          }
      }