sprockets/src/main/java/net/sf/sprockets/net/Uris.java
public static Uri groupByHavingLimit(Uri uri, String groupBy, String having, String limit) {
        Builder builder = uri.buildUpon();
        if (!TextUtils.isEmpty(groupBy)) {
            builder.appendQueryParameter(GROUP_BY, groupBy);
        }
        if (!TextUtils.isEmpty(having)) {
            builder.appendQueryParameter(HAVING, having);
        }
        if (!TextUtils.isEmpty(limit)) {
            builder.appendQueryParameter(LIMIT, limit);
        }
        return builder.build();
    }
public static Uri groupByHavingLimit(Uri uri, String groupBy, String having, String limit) {
        Builder builder = uri.buildUpon();
        if (!TextUtils.isEmpty(groupBy)) {
            builder.appendQueryParameter(GROUP_BY, groupBy);
        }
        if (!TextUtils.isEmpty(having)) {
            builder.appendQueryParameter(HAVING, having);
        }
        if (!TextUtils.isEmpty(limit)) {
            builder.appendQueryParameter(LIMIT, limit);
        }
        return builder.build();
    }
Append {@link Content#GROUP_BY group_by}, {@link Content#HAVING having}, and
{@link Content#LIMIT limit} query parameters to the URI. Any null or empty parameters are
skipped.

@since 2.4.0