(This is not a new issue, but...)
This code would be clearer if it started with:

    if (aggColumns.size() != 0) {
        return;
    }