I did this example, maybe help you.
Map<String, Aggregation> map = new HashMap<>();
Aggregation subAggregation = new Aggregation.Builder()
.avg(new AverageAggregation.Builder().field("revenue").build())
.build();
Aggregation aggregation = new Aggregation.Builder()
.terms(new TermsAggregation.Builder().field("director.keyword").build())
.aggregations(new HashMap<>() {{
put("avg_renevue", subAggregation);
}}).build();
map.put("agg_director", aggregation);