public static DescribeApiDocResponse Unmarshall(UnmarshallerContext context)
        {
            DescribeApiDocResponse describeApiDocResponse = new DescribeApiDocResponse();

            describeApiDocResponse.HttpResponse = context.HttpResponse;
            describeApiDocResponse.RequestId = context.StringValue("DescribeApiDoc.RequestId");
            describeApiDocResponse.RegionId = context.StringValue("DescribeApiDoc.RegionId");
            describeApiDocResponse.GroupId = context.StringValue("DescribeApiDoc.GroupId");
            describeApiDocResponse.GroupName = context.StringValue("DescribeApiDoc.GroupName");
            describeApiDocResponse.StageName = context.StringValue("DescribeApiDoc.StageName");
            describeApiDocResponse.ApiId = context.StringValue("DescribeApiDoc.ApiId");
            describeApiDocResponse.ApiName = context.StringValue("DescribeApiDoc.ApiName");
            describeApiDocResponse.Description = context.StringValue("DescribeApiDoc.Description");
            describeApiDocResponse.Visibility = context.StringValue("DescribeApiDoc.Visibility");
            describeApiDocResponse.AuthType = context.StringValue("DescribeApiDoc.AuthType");
            describeApiDocResponse.ResultType = context.StringValue("DescribeApiDoc.ResultType");
            describeApiDocResponse.ResultSample = context.StringValue("DescribeApiDoc.ResultSample");
            describeApiDocResponse.FailResultSample = context.StringValue("DescribeApiDoc.FailResultSample");
            describeApiDocResponse.DeployedTime = context.StringValue("DescribeApiDoc.DeployedTime");

            DescribeApiDocResponse.RequestConfig_ requestConfig = new DescribeApiDocResponse.RequestConfig_();
            requestConfig.RequestProtocol = context.StringValue("DescribeApiDoc.RequestConfig.RequestProtocol");
            requestConfig.RequestHttpMethod = context.StringValue("DescribeApiDoc.RequestConfig.RequestHttpMethod");
            requestConfig.RequestPath = context.StringValue("DescribeApiDoc.RequestConfig.RequestPath");
            requestConfig.BodyFormat = context.StringValue("DescribeApiDoc.RequestConfig.BodyFormat");
            requestConfig.PostBodyDescription = context.StringValue("DescribeApiDoc.RequestConfig.PostBodyDescription");
            describeApiDocResponse.RequestConfig = requestConfig;

            List<DescribeApiDocResponse.ErrorCodeSample> errorCodeSamples = new List<DescribeApiDocResponse.ErrorCodeSample>();
            for (int i = 0; i < context.Length("DescribeApiDoc.ErrorCodeSamples.Length"); i++) {
                DescribeApiDocResponse.ErrorCodeSample errorCodeSample = new DescribeApiDocResponse.ErrorCodeSample();
                errorCodeSample.Code = context.StringValue("DescribeApiDoc.ErrorCodeSamples["+ i +"].Code");
                errorCodeSample.Message = context.StringValue("DescribeApiDoc.ErrorCodeSamples["+ i +"].Message");
                errorCodeSample.Description = context.StringValue("DescribeApiDoc.ErrorCodeSamples["+ i +"].Description");

                errorCodeSamples.Add(errorCodeSample);
            }
            describeApiDocResponse.ErrorCodeSamples = errorCodeSamples;

            List<DescribeApiDocResponse.RequestParameter> requestParameters = new List<DescribeApiDocResponse.RequestParameter>();
            for (int i = 0; i < context.Length("DescribeApiDoc.RequestParameters.Length"); i++) {
                DescribeApiDocResponse.RequestParameter requestParameter = new DescribeApiDocResponse.RequestParameter();
                requestParameter.ApiParameterName = context.StringValue("DescribeApiDoc.RequestParameters["+ i +"].ApiParameterName");
                requestParameter.Location = context.StringValue("DescribeApiDoc.RequestParameters["+ i +"].Location");
                requestParameter.ParameterType = context.StringValue("DescribeApiDoc.RequestParameters["+ i +"].ParameterType");
                requestParameter.Required = context.StringValue("DescribeApiDoc.RequestParameters["+ i +"].Required");
                requestParameter.DefaultValue = context.StringValue("DescribeApiDoc.RequestParameters["+ i +"].DefaultValue");
                requestParameter.DemoValue = context.StringValue("DescribeApiDoc.RequestParameters["+ i +"].DemoValue");
                requestParameter.MaxValue = context.LongValue("DescribeApiDoc.RequestParameters["+ i +"].MaxValue");
                requestParameter.MinValue = context.LongValue("DescribeApiDoc.RequestParameters["+ i +"].MinValue");
                requestParameter.MaxLength = context.LongValue("DescribeApiDoc.RequestParameters["+ i +"].MaxLength");
                requestParameter.MinLength = context.LongValue("DescribeApiDoc.RequestParameters["+ i +"].MinLength");
                requestParameter.RegularExpression = context.StringValue("DescribeApiDoc.RequestParameters["+ i +"].RegularExpression");
                requestParameter.JsonScheme = context.StringValue("DescribeApiDoc.RequestParameters["+ i +"].JsonScheme");
                requestParameter.EnumValue = context.StringValue("DescribeApiDoc.RequestParameters["+ i +"].EnumValue");
                requestParameter.DocShow = context.StringValue("DescribeApiDoc.RequestParameters["+ i +"].DocShow");
                requestParameter.DocOrder = context.IntegerValue("DescribeApiDoc.RequestParameters["+ i +"].DocOrder");
                requestParameter.Description = context.StringValue("DescribeApiDoc.RequestParameters["+ i +"].Description");

                requestParameters.Add(requestParameter);
            }
            describeApiDocResponse.RequestParameters = requestParameters;

            return describeApiDocResponse;
        }