A general review of all classes' and packages' names and structures would be useful.
For example, AggregateRequestExecutor.java and DataRequestExecutor.java could be renamed to AggregationRequestExecutor.java and ExtractionRequestExecutor.java. So these classes will follow the same naming criteria used in other packages, i.e. in the package output: DefaultAggregationResponse.java and ExtractionResponse.java .
A general review of all classes' and packages' names and structures would be useful.
For example,
AggregateRequestExecutor.javaandDataRequestExecutor.javacould be renamed toAggregationRequestExecutor.javaandExtractionRequestExecutor.java. So these classes will follow the same naming criteria used in other packages, i.e. in the packageoutput:DefaultAggregationResponse.javaandExtractionResponse.java.