Inheritance: Aliyun.Acs.Core.AcsResponse
        public static DescribeSecurityGroupsResponse Unmarshall(UnmarshallerContext context)
        {
            DescribeSecurityGroupsResponse describeSecurityGroupsResponse = new DescribeSecurityGroupsResponse();

            describeSecurityGroupsResponse.HttpResponse = context.HttpResponse;
            describeSecurityGroupsResponse.RequestId = context.StringValue("DescribeSecurityGroups.RequestId");
            describeSecurityGroupsResponse.RegionId = context.StringValue("DescribeSecurityGroups.RegionId");
            describeSecurityGroupsResponse.TotalCount = context.IntegerValue("DescribeSecurityGroups.TotalCount");
            describeSecurityGroupsResponse.PageNumber = context.IntegerValue("DescribeSecurityGroups.PageNumber");
            describeSecurityGroupsResponse.PageSize = context.IntegerValue("DescribeSecurityGroups.PageSize");

            List<DescribeSecurityGroupsResponse.SecurityGroup> securityGroups = new List<DescribeSecurityGroupsResponse.SecurityGroup>();
            for (int i = 0; i < context.Length("DescribeSecurityGroups.SecurityGroups.Length"); i++) {
                DescribeSecurityGroupsResponse.SecurityGroup securityGroup = new DescribeSecurityGroupsResponse.SecurityGroup();
                securityGroup.SecurityGroupId = context.StringValue("DescribeSecurityGroups.SecurityGroups["+ i +"].SecurityGroupId");
                securityGroup.Description = context.StringValue("DescribeSecurityGroups.SecurityGroups["+ i +"].Description");
                securityGroup.SecurityGroupName = context.StringValue("DescribeSecurityGroups.SecurityGroups["+ i +"].SecurityGroupName");
                securityGroup.VpcId = context.StringValue("DescribeSecurityGroups.SecurityGroups["+ i +"].VpcId");
                securityGroup.CreationTime = context.StringValue("DescribeSecurityGroups.SecurityGroups["+ i +"].CreationTime");
                securityGroup.EcsCount = context.IntegerValue("DescribeSecurityGroups.SecurityGroups["+ i +"].EcsCount");

                List<DescribeSecurityGroupsResponse.SecurityGroup.Tag> tags = new List<DescribeSecurityGroupsResponse.SecurityGroup.Tag>();
                for (int j = 0; j < context.Length("DescribeSecurityGroups.SecurityGroups["+ i +"].Tags.Length"); j++) {
                    DescribeSecurityGroupsResponse.SecurityGroup.Tag tag = new DescribeSecurityGroupsResponse.SecurityGroup.Tag();
                    tag.TagKey = context.StringValue("DescribeSecurityGroups.SecurityGroups["+ i +"].Tags["+ j +"].TagKey");
                    tag.TagValue = context.StringValue("DescribeSecurityGroups.SecurityGroups["+ i +"].Tags["+ j +"].TagValue");

                    tags.Add(tag);
                }
                securityGroup.Tags = tags;

                securityGroups.Add(securityGroup);
            }
            describeSecurityGroupsResponse.SecurityGroups = securityGroups;

            return describeSecurityGroupsResponse;
        }