I'm wondering if there's a good reason why the InternalCardinality class in the Elasticsearch java client is final, as it makes it hard to mock it for testing purposes. Especially since many of the other internal aggregations are not final classes (for example, https://github.com/elastic/elasticsearch/blob/master/core/src/main/java/org/elasticsearch/search/aggregations/metrics/valuecount/InternalValueCount.java).
Thanks!