         // 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)
+        try 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.
public enum EpubParserError: Error {
    case wrongMimeType
    case missingFile(path: String)
    case xmlParse(underlyingError: Error)
    case missingElement(message: String)
}

extension EpubParser: Loggable {}

    ///   - container: The EPUB Container.
    ///   - publication: The Publication.
    /// - Throws: 
    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
