public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context)
 {
   DescribeMaintenanceStartTimeResponse response = new DescribeMaintenanceStartTimeResponse();          
   
   context.Read();
   
   UnmarshallResult(context,response);
   return response;
 }
        public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context)
        {
            DescribeMaintenanceStartTimeResponse response = new DescribeMaintenanceStartTimeResponse();

              context.Read();
              response.DescribeMaintenanceStartTimeResult = DescribeMaintenanceStartTimeResultUnmarshaller.GetInstance().Unmarshall(context);

              return response;
        }
       private static void UnmarshallResult(JsonUnmarshallerContext context,DescribeMaintenanceStartTimeResponse response)
       {
         
           int originalDepth = context.CurrentDepth;
           int targetDepth = originalDepth + 1;
           while (context.Read())
           {
             
             if (context.TestExpression("GatewayARN", targetDepth))
             {
               context.Read();
               response.GatewayARN = StringUnmarshaller.GetInstance().Unmarshall(context);
               continue;
             }
 
             if (context.TestExpression("HourOfDay", targetDepth))
             {
               context.Read();
               response.HourOfDay = IntUnmarshaller.GetInstance().Unmarshall(context);
               continue;
             }
 
             if (context.TestExpression("MinuteOfHour", targetDepth))
             {
               context.Read();
               response.MinuteOfHour = IntUnmarshaller.GetInstance().Unmarshall(context);
               continue;
             }
 
             if (context.TestExpression("DayOfWeek", targetDepth))
             {
               context.Read();
               response.DayOfWeek = IntUnmarshaller.GetInstance().Unmarshall(context);
               continue;
             }
 
             if (context.TestExpression("Timezone", targetDepth))
             {
               context.Read();
               response.Timezone = StringUnmarshaller.GetInstance().Unmarshall(context);
               continue;
             }
 
               if (context.CurrentDepth <= originalDepth)
               {                   
                   return;
               }
           }
                       
           return;
       }                        
       public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context)
       {
           DescribeMaintenanceStartTimeResponse response = new DescribeMaintenanceStartTimeResponse();       
         
           context.Read();
           int targetDepth = context.CurrentDepth;
           while (context.ReadAtDepth(targetDepth))
           {
             
             if (context.TestExpression("GatewayARN", targetDepth))
             {
               response.GatewayARN = StringUnmarshaller.GetInstance().Unmarshall(context);
               continue;
             }
 
             if (context.TestExpression("HourOfDay", targetDepth))
             {
               response.HourOfDay = IntUnmarshaller.GetInstance().Unmarshall(context);
               continue;
             }
 
             if (context.TestExpression("MinuteOfHour", targetDepth))
             {
               response.MinuteOfHour = IntUnmarshaller.GetInstance().Unmarshall(context);
               continue;
             }
 
             if (context.TestExpression("DayOfWeek", targetDepth))
             {
               response.DayOfWeek = IntUnmarshaller.GetInstance().Unmarshall(context);
               continue;
             }
 
             if (context.TestExpression("Timezone", targetDepth))
             {
               response.Timezone = StringUnmarshaller.GetInstance().Unmarshall(context);
               continue;
             }
 
           }
                       
           return response;
       }