private void AppendMultisig(Connectivity.Connection con, ImportanceTransferData data)
        {
            if (data.MultisigAccount == null)
            {
                return;
            }

            var multisig = new MultiSigTransaction(con, data.DelegatedAccount, data.Deadline, ImportanceBytes.Length);

            ImportanceBytes = ByteUtils.ConcatonatetBytes(multisig.GetBytes(), ImportanceBytes);
        }
        internal ImportanceTransfer(Connectivity.Connection con, PublicKey sender, ImportanceTransferData data) : base(con, data.MultisigAccount ?? sender, data.Deadline)
        {
            if (!StringUtils.OnlyHexInString(data.DelegatedAccount.Raw) || data.DelegatedAccount.Raw.Length != 64)
            {
                throw new ArgumentNullException(nameof(con));
            }

            TransferMode = data.Activate ? DefaultBytes.Activate : DefaultBytes.Deactivate;

            Serialize(data.DelegatedAccount);

            TransferBytes = ByteUtils.TruncateByteArray(Serializer.GetBytes(), StructureLength.ImportnaceTransfer);

            finalize();

            AppendMultisig(con, data);
        }