# Type of request: This is a ...

[X] bug report

# Detailed description
`EntityAlreadyExistsException` is not thrown correctly when creating IAM objects that are already present. `AmazonIdentityManagementException` with a null message is thrown instead

## Expected behavior
Localstack should throw `EntityAlreadyExistsException` with a populated message (not null)

## Actual behavior
```
com.amazonaws.services.identitymanagement.model.AmazonIdentityManagementException: null (Service: AmazonIdentityManagement; Status Code: 409; Error Code: 409 Conflict; Request ID: null)
```

# Steps to reproduce
- create an IAM role
- try to re-create it, catch `EntityAlreadyExistsException` but `AmazonIdentityManagementException` with null message is thrown instead

## Command used to start LocalStack
docker-compose up with `0.10.9`

## Client code (AWS SDK code snippet, or sequence of "awslocal" commands)
```
try {
    localStackIAMClient.createRole(createRoleRequest);
    localStackIAMClient.createRole(createRoleRequest);
} catch (EntityAlreadyExistsException e) {
    // AmazonIdentityManagementException with null is thrown instead
}
```

if response.content:
            
            self._fix_account_id(response)
            
            self._fix_date_format(response)
            
            response.headers['content-length'] = str(len(response._content))
    def _fix_date_format(self, response):
        """ Normalize date to format '2019-06-13T18:10:09.1234Z' """
        pattern = r'<CreateDate>([^<]+) ([^<+]+)(\+[^<]*)?</CreateDate>'
        replacement = r'<CreateDate>\1T\2Z</CreateDate>'
        self._replace(response, pattern, replacement)
    @staticmethod
    def _fix_account_id(response):
        return aws_stack.fix_account_id_in_arns(
            response, existing=MOTO_ACCOUNT_ID, replace=TEST_AWS_ACCOUNT_ID)
    @staticmethod
    def _reset_account_id(data):
        """ Fix account ID in request payload. All external-facing responses contain our
            predefined account ID (defaults to 000000000000), whereas the backend endpoint
            from moto expects a different hardcoded account ID (123456789012). """
        return aws_stack.fix_account_id_in_arns(
            data, colon_delimiter='%3A', existing=TEST_AWS_ACCOUNT_ID, replace=MOTO_ACCOUNT_ID)
    @staticmethod
    def _replace(response, pattern, replacement):
        content = to_str(response.content)
        response._content = re.sub(pattern, replacement, content)
UPDATE_IAM = ProxyListenerIAM()