public static DescribeBatchResultResponse Unmarshall(UnmarshallerContext context)
        {
            DescribeBatchResultResponse describeBatchResultResponse = new DescribeBatchResultResponse();

            describeBatchResultResponse.HttpResponse = context.HttpResponse;
            describeBatchResultResponse.RequestId = context.StringValue("DescribeBatchResult.RequestId");
            describeBatchResultResponse.TraceId = context.StringValue("DescribeBatchResult.TraceId");
            describeBatchResultResponse.Status = context.LongValue("DescribeBatchResult.Status");
            describeBatchResultResponse.BatchCount = context.LongValue("DescribeBatchResult.BatchCount");
            describeBatchResultResponse.SuccessNumber = context.LongValue("DescribeBatchResult.SuccessNumber");

            List<DescribeBatchResultResponse.FailResult> failResults = new List<DescribeBatchResultResponse.FailResult>();
            for (int i = 0; i < context.Length("DescribeBatchResult.FailResults.Length"); i++) {
                DescribeBatchResultResponse.FailResult failResult = new DescribeBatchResultResponse.FailResult();
                failResult.BatchIndex = context.StringValue("DescribeBatchResult.FailResults["+ i +"].BatchIndex");
                failResult.ErrorCode = context.StringValue("DescribeBatchResult.FailResults["+ i +"].ErrorCode");

                failResults.Add(failResult);
            }
            describeBatchResultResponse.FailResults = failResults;

            return describeBatchResultResponse;
        }