/**
  * Constructor decrypts serialized model instance at SEALED_MODEL_FILE_NAME or creates new model
  * if one does not exist
  *
  * @throws CEEncryptionErrorException - Thrown if Encryption/Decryption fails due to bad/no
  *     password or if internal error (bad algorithm, etc);
  * @throws com.sjsurha.resident_identifier.Exceptions.CEAuthenticationFailedException
  */
 public ViewerController() throws CEEncryptionErrorException, CEAuthenticationFailedException {
   try {
     sealer = initializeSealedObject(null);
     Model.setModelInstance(unseal(SEALED_MODEL_FILE_NAME, sealer));
   } catch (FileNotFoundException | NullPointerException ex) {
     Model.setModelInstance();
   } finally {
     autosaveThread();
     // model.importEvents();
   }
   if (!checkVariables()) throw new CEAuthenticationFailedException();
 }