protected Collection<? extends Nupkg> execQuery(PackageSource<Nupkg> packageSource, final String filter) {
if (filter == null || filter.isEmpty()) {
return packageSource.getPackages();
}
try {
QueryLexer queryLexer = new QueryLexer();
Expression expression = queryLexer.parse(filter);
if (expression.hasFilterPriority()) {
return expression.filter(packageSource.getPackages());
} else {
return expression.execute(packageSource);
}