public void AddEventSourceMarshallTestForDataTypeCustomization()
        {
            var operation = service_model.FindOperation("AddEventSource");

            var request = InstantiateClassGenerator.Execute<AddEventSourceRequest>();
            var marshaller = new AddEventSourceRequestMarshaller();

            var internalRequest = marshaller.Marshall(request);
            RequestValidator.Validate("AddEventSource", request, internalRequest, service_model);

            var webResponse = new WebResponseData
            {
                Headers = {
                    {"x-amzn-RequestId", Guid.NewGuid().ToString()},
                    {"x-amz-crc32","0"}
                }
            };

            var payloadResponse = new JsonSampleGenerator(service_model, operation.ResponseStructure).Execute();

            // The service returns IsActive as a string and it's unmarshalled as a bool to set the 
            // AddEventSourceResponse.IsActive bool property.
            if (payloadResponse.Contains("\"IsActive\"     : true"))
                payloadResponse = payloadResponse.Replace("\"IsActive\"     : true", "\"IsActive\"     : \"true\"");
            else
                throw new InvalidOperationException("Could not replace json in sample response");

            webResponse.Headers.Add("Content-Length", UTF8Encoding.UTF8.GetBytes(payloadResponse).Length.ToString());
            var context = new JsonUnmarshallerContext(Utils.CreateStreamFromString(payloadResponse), false, webResponse);
            ResponseUnmarshaller unmarshaller = AddEventSourceResponseUnmarshaller.Instance;
            var response = unmarshaller.Unmarshall(context)
                as AddEventSourceResponse;
            InstantiateClassGenerator.ValidateObjectFullyInstantiated(response);
        }