/// <summary>
        /// Initialize object from another <see cref="ICredentialsProvider"/> implementation.
        /// </summary>
        /// <param name="credProvider">The source provider.</param>
        /// <param name="seed">UUID encryption seed (optional)</param>
        public MemoryEncryptedCredentialsProvider(ICredentialsProvider credProvider, Guid?seed = null)
        {
            if (seed == null)
            {
                this.seed = MakeZipper();
            }
            else
            {
                this.seed = MakeZipper((Guid)seed);
            }

            if (credProvider == null)
            {
                return;
            }

            this.key        = EncryptIt(credProvider.GetKey());
            this.secret     = EncryptIt(credProvider.GetSecret());
            this.passphrase = EncryptIt(credProvider.GetPassphrase());
            this.sandbox    = credProvider.GetSandbox();
            this.futures    = credProvider.GetFutures();
        }