public static DescribeInstanceTypesResponse Unmarshall(UnmarshallerContext context)
        {
            DescribeInstanceTypesResponse describeInstanceTypesResponse = new DescribeInstanceTypesResponse();

            describeInstanceTypesResponse.HttpResponse = context.HttpResponse;
            describeInstanceTypesResponse.RequestId = context.StringValue("DescribeInstanceTypes.RequestId");

            List<DescribeInstanceTypesResponse.InstanceType> instanceTypes = new List<DescribeInstanceTypesResponse.InstanceType>();
            for (int i = 0; i < context.Length("DescribeInstanceTypes.InstanceTypes.Length"); i++) {
                DescribeInstanceTypesResponse.InstanceType instanceType = new DescribeInstanceTypesResponse.InstanceType();
                instanceType.InstanceTypeId = context.StringValue("DescribeInstanceTypes.InstanceTypes["+ i +"].InstanceTypeId");
                instanceType.CpuCoreCount = context.IntegerValue("DescribeInstanceTypes.InstanceTypes["+ i +"].CpuCoreCount");
                instanceType.MemorySize = context.FloatValue("DescribeInstanceTypes.InstanceTypes["+ i +"].MemorySize");
                instanceType.InstanceTypeFamily = context.StringValue("DescribeInstanceTypes.InstanceTypes["+ i +"].InstanceTypeFamily");

                instanceTypes.Add(instanceType);
            }
            describeInstanceTypesResponse.InstanceTypes = instanceTypes;

            return describeInstanceTypesResponse;
        }