private void init() {
        if (exceptionUnmarshallersMap.get("ConcurrentModificationException") == null) {
            exceptionUnmarshallersMap.put("ConcurrentModificationException", new ConcurrentModificationExceptionUnmarshaller());
        }
        exceptionUnmarshallers.add(new ConcurrentModificationExceptionUnmarshaller());
        if (exceptionUnmarshallersMap.get("InvalidParameterValue") == null) {
            exceptionUnmarshallersMap.put("InvalidParameterValue", new InvalidParameterValueExceptionUnmarshaller());
        }
        exceptionUnmarshallers.add(new InvalidParameterValueExceptionUnmarshaller());
        if (exceptionUnmarshallersMap.get("InvalidFormat") == null) {
            exceptionUnmarshallersMap.put("InvalidFormat", new InvalidFormatExceptionUnmarshaller());
        }
        exceptionUnmarshallers.add(new InvalidFormatExceptionUnmarshaller());
        if (exceptionUnmarshallersMap.get("MissingParameter") == null) {
            exceptionUnmarshallersMap.put("MissingParameter", new MissingRequiredParameterExceptionUnmarshaller());
        }
        exceptionUnmarshallers.add(new MissingRequiredParameterExceptionUnmarshaller());
        if (exceptionUnmarshallersMap.get("InvalidNextToken") == null) {
            exceptionUnmarshallersMap.put("InvalidNextToken", new InvalidNextTokenExceptionUnmarshaller());
        }
        exceptionUnmarshallers.add(new InvalidNextTokenExceptionUnmarshaller());
        if (exceptionUnmarshallersMap.get("LimitExceeded") == null) {
            exceptionUnmarshallersMap.put("LimitExceeded", new LimitExceededExceptionUnmarshaller());
        }
        exceptionUnmarshallers.add(new LimitExceededExceptionUnmarshaller());
        if (exceptionUnmarshallersMap.get("ResourceNotFoundException") == null) {
            exceptionUnmarshallersMap.put("ResourceNotFoundException", new ResourceNotFoundExceptionUnmarshaller());
        }
        exceptionUnmarshallers.add(new ResourceNotFoundExceptionUnmarshaller());
        if (exceptionUnmarshallersMap.get("InvalidParameterCombination") == null) {
            exceptionUnmarshallersMap.put("InvalidParameterCombination", new InvalidParameterCombinationExceptionUnmarshaller());
        }
        exceptionUnmarshallers.add(new InvalidParameterCombinationExceptionUnmarshaller());
        if (exceptionUnmarshallersMap.get("ResourceNotFound") == null) {
            exceptionUnmarshallersMap.put("ResourceNotFound", new DashboardNotFoundErrorExceptionUnmarshaller());
        }
        exceptionUnmarshallers.add(new DashboardNotFoundErrorExceptionUnmarshaller());
        if (exceptionUnmarshallersMap.get("InvalidParameterInput") == null) {
            exceptionUnmarshallersMap.put("InvalidParameterInput", new DashboardInvalidInputErrorExceptionUnmarshaller());
        }
        exceptionUnmarshallers.add(new DashboardInvalidInputErrorExceptionUnmarshaller());
        if (exceptionUnmarshallersMap.get("InternalServiceError") == null) {
            exceptionUnmarshallersMap.put("InternalServiceError", new InternalServiceExceptionUnmarshaller());
        }
        exceptionUnmarshallers.add(new InternalServiceExceptionUnmarshaller());
        defaultUnmarshaller = new StandardErrorUnmarshaller(com.amazonaws.services.cloudwatch.model.AmazonCloudWatchException.class);
        exceptionUnmarshallers.add(new StandardErrorUnmarshaller(com.amazonaws.services.cloudwatch.model.AmazonCloudWatchException.class));

        setServiceNameIntern(DEFAULT_SIGNING_NAME);
        setEndpointPrefix(ENDPOINT_PREFIX);
        // calling this.setEndPoint(...) will also modify the signer accordingly
        this.setEndpoint("https://monitoring.us-east-1.amazonaws.com");
        HandlerChainFactory chainFactory = new HandlerChainFactory();
        requestHandler2s.addAll(chainFactory.newRequestHandlerChain("/com/amazonaws/services/cloudwatch/request.handlers"));
        requestHandler2s.addAll(chainFactory.newRequestHandler2Chain("/com/amazonaws/services/cloudwatch/request.handler2s"));
        requestHandler2s.addAll(chainFactory.getGlobalHandlers());
    }
Constructs a new client to invoke service methods on CloudWatch using the specified parameters.

<p>
All service calls made using this new client object are blocking, and will not return until the service call
completes.

@param clientParams
       Object providing client parameters.
aws-java-sdk-cloudwatch/src/main/java/com/amazonaws/services/cloudwatch/AmazonCloudWatchClient.java