protected override void BeginProcessing()
 {
     switch (ParameterSetName)
     {
         case "String":
             rawMessage = Message.Decompress();
             break;
         case "Byte":
             rawMessage = RawMessage;
             break;
         default:
             break;
     }
     switch (Type)
     {
         case "ChaCha20":
             algo = SodiumCryptoTransform.SymmetricAlgorithm.ChaCha20;
             break;
         case "XSalsa20":
             algo = SodiumCryptoTransform.SymmetricAlgorithm.XSalsa;
             break;
         case "Default":
         default:
             algo = SodiumCryptoTransform.SymmetricAlgorithm.Default;
             break;
     }
 }
 protected override void BeginProcessing()
 {
     switch (ParameterSetName)
     {
         case "String":
             rawMessage = Message.ToByteArray(Encoding);
             break;
         case "Byte":
             rawMessage = RawMessage;
             break;
         default:
             break;
     }
     switch (Type)
     {
         case "ChaCha20":
             algo = SodiumCryptoTransform.SymmetricAlgorithm.ChaCha20;
             nonce = StreamEncryption.GenerateNonceChaCha20();
             break;
         case "XSalsa20":
             algo = SodiumCryptoTransform.SymmetricAlgorithm.XSalsa;
             nonce = StreamEncryption.GenerateNonce();
             break;
         case "Default":
         default:
             algo = SodiumCryptoTransform.SymmetricAlgorithm.Default;
             nonce = SecretBox.GenerateNonce();
             break;
     }
 }