Language: Java
Label: vulnerable
CWE: CWE-89 \u2014 Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component.

Code:
    public StringBuilder build() {

        StringBuilder whereClause = buildWhereClause();

        StringBuilder query = new StringBuilder();
        if (isCountQuery) {
            if (Filter.INCLUDE.equals(this.originalFilter)) {
                query.append("SELECT COUNT(oid) FROM object WHERE type_id IN (:types)");
            } else {
                query.append("SELECT COUNT(oid) FROM object WHERE type_id IN (:types) AND (\n");
                query.append(whereClause).append(")");
            }
        } else {
            SortBy[] orders = this.sortOrder;
            if (orders == null) {
                query.append("SELECT id FROM object WHERE type_id IN (:types) AND (\n");
                query.append(whereClause).append(")");
                query.append(" ORDER BY oid");
            } else {
                querySortBy(query, whereClause, orders);
            }
            applyOffsetLimit(query);
        }

        return query;
    }