public static DescribeImageSharePermissionResponse Unmarshall(UnmarshallerContext context)
        {
            DescribeImageSharePermissionResponse describeImageSharePermissionResponse = new DescribeImageSharePermissionResponse();

            describeImageSharePermissionResponse.HttpResponse = context.HttpResponse;
            describeImageSharePermissionResponse.RequestId = context.StringValue("DescribeImageSharePermission.RequestId");
            describeImageSharePermissionResponse.RegionId = context.StringValue("DescribeImageSharePermission.RegionId");
            describeImageSharePermissionResponse.TotalCount = context.IntegerValue("DescribeImageSharePermission.TotalCount");
            describeImageSharePermissionResponse.PageNumber = context.IntegerValue("DescribeImageSharePermission.PageNumber");
            describeImageSharePermissionResponse.PageSize = context.IntegerValue("DescribeImageSharePermission.PageSize");
            describeImageSharePermissionResponse.ImageId = context.StringValue("DescribeImageSharePermission.ImageId");

            List<DescribeImageSharePermissionResponse.ShareGroup> shareGroups = new List<DescribeImageSharePermissionResponse.ShareGroup>();
            for (int i = 0; i < context.Length("DescribeImageSharePermission.ShareGroups.Length"); i++) {
                DescribeImageSharePermissionResponse.ShareGroup shareGroup = new DescribeImageSharePermissionResponse.ShareGroup();
                shareGroup.Group = context.StringValue("DescribeImageSharePermission.ShareGroups["+ i +"].Group");

                shareGroups.Add(shareGroup);
            }
            describeImageSharePermissionResponse.ShareGroups = shareGroups;

            List<DescribeImageSharePermissionResponse.Account> accounts = new List<DescribeImageSharePermissionResponse.Account>();
            for (int i = 0; i < context.Length("DescribeImageSharePermission.Accounts.Length"); i++) {
                DescribeImageSharePermissionResponse.Account account = new DescribeImageSharePermissionResponse.Account();
                account.AliyunId = context.StringValue("DescribeImageSharePermission.Accounts["+ i +"].AliyunId");

                accounts.Add(account);
            }
            describeImageSharePermissionResponse.Accounts = accounts;

            return describeImageSharePermissionResponse;
        }
        public static DescribeImageSharePermissionResponse Unmarshall(UnmarshallerContext context)
        {
            DescribeImageSharePermissionResponse describeImageSharePermissionResponse = new DescribeImageSharePermissionResponse()
            {
                HttpResponse = context.HttpResponse,
                RequestId    = context.StringValue("DescribeImageSharePermission.RequestId"),
                RegionId     = context.StringValue("DescribeImageSharePermission.RegionId"),
                TotalCount   = context.IntegerValue("DescribeImageSharePermission.TotalCount"),
                PageNumber   = context.IntegerValue("DescribeImageSharePermission.PageNumber"),
                PageSize     = context.IntegerValue("DescribeImageSharePermission.PageSize"),
                ImageId      = context.StringValue("DescribeImageSharePermission.ImageId")
            };
            List <DescribeImageSharePermissionResponse.ShareGroup> shareGroups = new List <DescribeImageSharePermissionResponse.ShareGroup>();

            for (int i = 0; i < context.Length("DescribeImageSharePermission.ShareGroups.Length"); i++)
            {
                DescribeImageSharePermissionResponse.ShareGroup shareGroup = new DescribeImageSharePermissionResponse.ShareGroup()
                {
                    Group = context.StringValue($"DescribeImageSharePermission.ShareGroups[{i}].Group")
                };
                shareGroups.Add(shareGroup);
            }
            describeImageSharePermissionResponse.ShareGroups = shareGroups;

            List <DescribeImageSharePermissionResponse.Account> accounts = new List <DescribeImageSharePermissionResponse.Account>();

            for (int i = 0; i < context.Length("DescribeImageSharePermission.Accounts.Length"); i++)
            {
                DescribeImageSharePermissionResponse.Account account = new DescribeImageSharePermissionResponse.Account()
                {
                    AliyunId = context.StringValue($"DescribeImageSharePermission.Accounts[{i}].AliyunId")
                };
                accounts.Add(account);
            }
            describeImageSharePermissionResponse.Accounts = accounts;

            return(describeImageSharePermissionResponse);
        }