# 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
}
```

self.iam_client.delete_user(
            UserName=test_user_name
        )
    def test_recreate_iam_role(self):
        role_name = 'role-{}'.format(short_uid())
        assume_policy_document = {
            'Version': '2012-10-17',
            'Statement': [
                {
                    'Action': 'sts:AssumeRole',
                    'Principal': {'Service': 'lambda.amazonaws.com'}
                }
            ]
        }
        rs = self.iam_client.create_role(
            RoleName=role_name,
            AssumeRolePolicyDocument=json.dumps(assume_policy_document)
        )
        self.assertEqual(rs['ResponseMetadata']['HTTPStatusCode'], 200)
        try:
            
            self.iam_client.create_role(
                RoleName=role_name,
                AssumeRolePolicyDocument=json.dumps(assume_policy_document)
            )
            self.fail('This call should not be successful as the role already exists')
        except ClientError as e:
            self.assertEqual(e.response['Error']['Code'], 'EntityAlreadyExists')
        
        self.iam_client.delete_role(