I figured out why this was used. This was used to create a versioning schema for scim read/writes. Upon a write the client has to write a If-Match header based on the etag that was passed down. 

The fix is simple, we have to write the Etag wherever we return a ScimUser or ScimGroup as @ResponseBody