@Override
  public List<Privilege> search(final ImmutablePair<String, ?>... constraints) {
    final Specification<Privilege> firstSpec =
        SearchSecUtil.resolveConstraint(constraints[0], Privilege.class);
    Specifications<Privilege> specifications = Specifications.where(firstSpec);
    for (int i = 1; i < constraints.length; i++) {
      specifications =
          specifications.and(SearchSecUtil.resolveConstraint(constraints[i], Privilege.class));
    }
    if (firstSpec == null) {
      return Lists.newArrayList();
    }

    return getDao().findAll(specifications);
  }