class AggregationDistinctQueryResult extends DistinctQueryResult {

    private Object getValue(final int columnIndex) {
        if (metaData.isAggregationDistinctColumnIndex(columnIndex)) {
            return AggregationType.COUNT == metaData.getAggregationType(columnIndex) ? 1 : super.getValue(columnIndex, Object.class);
        }
        if (metaData.isDerivedCountColumnIndex(columnIndex)) {
            return 1;
        }
        if (metaData.isDerivedSumColumnIndex(columnIndex)) {
            return super.getValue(metaData.getAggregationDistinctColumnIndex(columnIndex), Object.class);
        }
        return super.getValue(columnIndex, Object.class);
    }

    private  AggregationDistinctQueryResult(final QueryResultMetaData queryResultMetaData, final Iterator<QueryRow> resultData, final AggregationDistinctQueryMetaData distinctQueryMetaData);
    public  AggregationDistinctQueryResult(final Collection<QueryResult> queryResults, final List<AggregationDistinctSelectItem> aggregationDistinctSelectItems);

}