docs: public static String generateRevision(final ContentSpec contentSpec) {
          final StringBuilder rev = new StringBuilder();
  
          // Build the BookVersion/Edition part of the revision number.
          final String bookVersion;
          if (contentSpec.getBookVersion() == null) {
              bookVersion = contentSpec.getEdition();
          } else {
              bookVersion = contentSpec.getBookVersion();
          }
  
          if (bookVersion == null) {
              rev.append(BuilderConstants.DEFAULT_EDITION).append(".0.0");
          } else {
              // Remove any beta/alpha declarations
              final String removeContent = bookVersion.replaceAll("^(([0-9]+)|([0-9]+.[0-9]+)|([0-9]+.[0-9]+.[0-9]+))", "");
              final String fixedBookVersion = bookVersion.replace(removeContent, "");
  
              if (fixedBookVersion.matches("^[0-9]+\\.[0-9]+\\.[0-9]+$")) {
                  rev.append(fixedBookVersion);
              } else if (fixedBookVersion.matches("^[0-9]+\\.[0-9]+$")) {
                  rev.append(fixedBookVersion).append(".0");
              } else {
                  rev.append(fixedBookVersion).append(".0.0");
              }
          }
  
          return rev.toString();
      }