public Writer(StreamWriter streamWriter, InMemoryDatabase.PuzzleLibrary library, ISerializer <InMemoryDatabase.PuzzleLibraryEntry> libraryEntrySerializer)
     : base(streamWriter)
 {
     if (library == null)
     {
         throw new ArgumentNullException(nameof(library));
     }
     else if (libraryEntrySerializer == null)
     {
         throw new ArgumentNullException(nameof(libraryEntrySerializer));
     }
     else
     {
         this.library = library;
         this.libraryEntrySerializer = libraryEntrySerializer;
     }
 }
 public PuzzleDatabase(IGameDataArchive archive, InMemoryDatabase.PuzzleLibrary puzzleLibrary)
 {
     this.archive       = archive;
     this.puzzleLibrary = puzzleLibrary;
 }