private void init() {
        if (exceptionUnmarshallersMap.get("NumberItemAttributesExceeded") == null) {
            exceptionUnmarshallersMap.put("NumberItemAttributesExceeded", new NumberItemAttributesExceededExceptionUnmarshaller());
        }
        exceptionUnmarshallers.add(new NumberItemAttributesExceededExceptionUnmarshaller());
        if (exceptionUnmarshallersMap.get("NumberSubmittedItemsExceeded") == null) {
            exceptionUnmarshallersMap.put("NumberSubmittedItemsExceeded", new NumberSubmittedItemsExceededExceptionUnmarshaller());
        }
        exceptionUnmarshallers.add(new NumberSubmittedItemsExceededExceptionUnmarshaller());
        if (exceptionUnmarshallersMap.get("InvalidNumberPredicates") == null) {
            exceptionUnmarshallersMap.put("InvalidNumberPredicates", new InvalidNumberPredicatesExceptionUnmarshaller());
        }
        exceptionUnmarshallers.add(new InvalidNumberPredicatesExceptionUnmarshaller());
        if (exceptionUnmarshallersMap.get("NumberDomainBytesExceeded") == null) {
            exceptionUnmarshallersMap.put("NumberDomainBytesExceeded", new NumberDomainBytesExceededExceptionUnmarshaller());
        }
        exceptionUnmarshallers.add(new NumberDomainBytesExceededExceptionUnmarshaller());
        if (exceptionUnmarshallersMap.get("AttributeDoesNotExist") == null) {
            exceptionUnmarshallersMap.put("AttributeDoesNotExist", new AttributeDoesNotExistExceptionUnmarshaller());
        }
        exceptionUnmarshallers.add(new AttributeDoesNotExistExceptionUnmarshaller());
        if (exceptionUnmarshallersMap.get("NumberDomainsExceeded") == null) {
            exceptionUnmarshallersMap.put("NumberDomainsExceeded", new NumberDomainsExceededExceptionUnmarshaller());
        }
        exceptionUnmarshallers.add(new NumberDomainsExceededExceptionUnmarshaller());
        if (exceptionUnmarshallersMap.get("NoSuchDomain") == null) {
            exceptionUnmarshallersMap.put("NoSuchDomain", new NoSuchDomainExceptionUnmarshaller());
        }
        exceptionUnmarshallers.add(new NoSuchDomainExceptionUnmarshaller());
        if (exceptionUnmarshallersMap.get("RequestTimeout") == null) {
            exceptionUnmarshallersMap.put("RequestTimeout", new RequestTimeoutExceptionUnmarshaller());
        }
        exceptionUnmarshallers.add(new RequestTimeoutExceptionUnmarshaller());
        if (exceptionUnmarshallersMap.get("InvalidParameterValue") == null) {
            exceptionUnmarshallersMap.put("InvalidParameterValue", new InvalidParameterValueExceptionUnmarshaller());
        }
        exceptionUnmarshallers.add(new InvalidParameterValueExceptionUnmarshaller());
        if (exceptionUnmarshallersMap.get("DuplicateItemName") == null) {
            exceptionUnmarshallersMap.put("DuplicateItemName", new DuplicateItemNameExceptionUnmarshaller());
        }
        exceptionUnmarshallers.add(new DuplicateItemNameExceptionUnmarshaller());
        if (exceptionUnmarshallersMap.get("TooManyRequestedAttributes") == null) {
            exceptionUnmarshallersMap.put("TooManyRequestedAttributes", new TooManyRequestedAttributesExceptionUnmarshaller());
        }
        exceptionUnmarshallers.add(new TooManyRequestedAttributesExceptionUnmarshaller());
        if (exceptionUnmarshallersMap.get("NumberSubmittedAttributesExceeded") == null) {
            exceptionUnmarshallersMap.put("NumberSubmittedAttributesExceeded", new NumberSubmittedAttributesExceededExceptionUnmarshaller());
        }
        exceptionUnmarshallers.add(new NumberSubmittedAttributesExceededExceptionUnmarshaller());
        if (exceptionUnmarshallersMap.get("InvalidQueryExpression") == null) {
            exceptionUnmarshallersMap.put("InvalidQueryExpression", new InvalidQueryExpressionExceptionUnmarshaller());
        }
        exceptionUnmarshallers.add(new InvalidQueryExpressionExceptionUnmarshaller());
        if (exceptionUnmarshallersMap.get("NumberDomainAttributesExceeded") == null) {
            exceptionUnmarshallersMap.put("NumberDomainAttributesExceeded", new NumberDomainAttributesExceededExceptionUnmarshaller());
        }
        exceptionUnmarshallers.add(new NumberDomainAttributesExceededExceptionUnmarshaller());
        if (exceptionUnmarshallersMap.get("InvalidNumberValueTests") == null) {
            exceptionUnmarshallersMap.put("InvalidNumberValueTests", new InvalidNumberValueTestsExceptionUnmarshaller());
        }
        exceptionUnmarshallers.add(new InvalidNumberValueTestsExceptionUnmarshaller());
        if (exceptionUnmarshallersMap.get("InvalidNextToken") == null) {
            exceptionUnmarshallersMap.put("InvalidNextToken", new InvalidNextTokenExceptionUnmarshaller());
        }
        exceptionUnmarshallers.add(new InvalidNextTokenExceptionUnmarshaller());
        if (exceptionUnmarshallersMap.get("MissingParameter") == null) {
            exceptionUnmarshallersMap.put("MissingParameter", new MissingParameterExceptionUnmarshaller());
        }
        exceptionUnmarshallers.add(new MissingParameterExceptionUnmarshaller());
        defaultUnmarshaller = new LegacyErrorUnmarshaller(com.amazonaws.services.simpledb.model.AmazonSimpleDBException.class);
        exceptionUnmarshallers.add(new LegacyErrorUnmarshaller(com.amazonaws.services.simpledb.model.AmazonSimpleDBException.class));

        setServiceNameIntern(DEFAULT_SIGNING_NAME);
        setEndpointPrefix(ENDPOINT_PREFIX);
        // calling this.setEndPoint(...) will also modify the signer accordingly
        this.setEndpoint("sdb.amazonaws.com");
        HandlerChainFactory chainFactory = new HandlerChainFactory();
        requestHandler2s.addAll(chainFactory.newRequestHandlerChain("/com/amazonaws/services/simpledb/request.handlers"));
        requestHandler2s.addAll(chainFactory.newRequestHandler2Chain("/com/amazonaws/services/simpledb/request.handler2s"));
        requestHandler2s.addAll(chainFactory.getGlobalHandlers());
    }
Constructs a new client to invoke service methods on Amazon SimpleDB 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-simpledb/src/main/java/com/amazonaws/services/simpledb/AmazonSimpleDBClient.java