Changes made for Spring Data Commons result in final fields being rejected for manipulation unless there's a wither method available on the object at hand. Unfortunately adapting Spring Data Elasticsearch to support that doesn't work easily as it requires breaking changes to ElasticsearchTemplate as most of the methods assume parameters being handed to be mutable, see the implementation of SimpleElasticsearchRepository.save(…) for instance.
We now mitigate the problem, by enforcing the BeanWrapperPropertyAccessor being used and treating all properties as mutable.
Related tickets: DATACMNS-1322.