Also: 409 seems odd. If this escapes to a client, it represents a 500 class error (not a 400).