protected override void Fill(WmXmlPackage wmXmlPackage)
        {
            if (null == wmXmlPackage)
            {
                throw new ArgumentNullException(nameof(wmXmlPackage));
            }

            Success = wmXmlPackage.SelectBool("retval");

            if (!Success)
            {
                return;
            }

            WmId = wmXmlPackage.SelectWmIdIfExists("testwmpurse/wmid");

            var transferRejectedValue = wmXmlPackage.SelectInt32("testwmpurse/wmid/@available");

            if (transferRejectedValue >= 0)
            {
                TransferRejected = 1 == transferRejectedValue;
            }

            var partnerAvailabilityValue = wmXmlPackage.SelectInt32("testwmpurse/wmid/@themselfcorrstate");

            if (partnerAvailabilityValue > 0)
            {
                Availability = (PartnerAvailability)partnerAvailabilityValue;
            }

            var passportValue = wmXmlPackage.SelectInt32("testwmpurse/wmid/@newattst");

            if (passportValue >= 0)
            {
                Passport = (PassportDegree)passportValue;
            }

            Purse = wmXmlPackage.SelectPurseIfExists("testwmpurse/purse");

            var merchantEnabledValue = wmXmlPackage.SelectInt32("testwmpurse/purse/@merchant_active_mode");

            if (merchantEnabledValue >= 0)
            {
                MerchantEnabled = 1 == merchantEnabledValue;
            }

            var cashierEnabled = wmXmlPackage.SelectInt32("testwmpurse/purse/@merchant_allow_cashier");

            if (cashierEnabled >= 0)
            {
                CashierEnabled = 1 == cashierEnabled;
            }
        }