     ///   - container: The EPUB Container.
     ///   - publication: The Publication.
     /// - Throws: 
-    internal func parseEncryption(from container: EpubContainer, to publication: inout Publication) {
+    internal func parseEncryption(from container: EpubContainer, to publication: inout Publication) throws {
         //if publication.metadata.title ==
         // Check if there is an encryption file.
         let document: AEXMLDocument

        // Parse OPF file (Metadata, Spine, Resource) and return the Publication.
        var publication = try opfp.parseOPF(from: document, with: container, and: epubVersion)
        // Parse the META-INF/Encryption.xml.
        parseEncryption(from: container, to: &publication)
        // Parse Navigation Document.
        parseNavigationDocument(from: container, to: &publication)
        // Parse the NCX Document (if any).

/// - missingFile: A file is missing from the container at `path`.
/// - xmlParse: An XML parsing error occurred.
/// - missingElement: An XML element is missing.
/// - unsupportedDrm: ACS and URMS.
public enum EpubParserError: Error {
    case wrongMimeType
    case missingFile(path: String)
    case xmlParse(underlyingError: Error)
    case missingElement(message: String)
    case unsupportedDrm
}

extension EpubParser: Loggable {}
