/// <summary>
 /// Returns the appropriate encryptor factory for the Version and Revision
 /// </summary>
 /// <returns></returns>
 internal virtual PDFEncrypterFactory GetFactory()
 {
     if (null == _factory)
     {
         PDFEncrypterFactory factory = PDFEncrypterFactory.CreateFactory(this.Version, this.Revision);
         if (null == factory)
         {
             throw new PDFSecurityException(string.Format(Errors.NoAvailableEncryptorFactoryForVersionAndRevision, this.Version, this.Revision));
         }
         _factory = factory;
     }
     return(_factory);
 }
 /// <summary>
 /// Returns the appropriate encryptor factory for the Version and Revision
 /// </summary>
 /// <returns></returns>
 internal virtual PDFEncrypterFactory GetFactory()
 {
     if (null == _factory)
     {
         PDFEncrypterFactory factory = PDFEncrypterFactory.CreateFactory(this.Version, this.Revision);
         if (null == factory)
         {
             throw new PDFSecurityException(string.Format("There is no encrypter factory for the version " + this.Version + " and revision " + this.Revision));
         }
         _factory = factory;
     }
     return(_factory);
 }