public List<Tag> getPopularNarrowerTagsByGnizrUser(String tag, int minFreq) throws MissingIdException, NoSuchUserException, NoSuchTagException, NoSuchUserTagException { int mf = 1; if (minFreq > mf) { mf = minFreq; } List<Tag> tags = new ArrayList<Tag>(); Tag tagObj = GnizrDaoUtil.getTag(tagDao, tag); if (tagObj != null && gnizrUser != null) { UserTag userTagObj = GnizrDaoUtil.getUserTag(tagDao, gnizrUser, tagObj); if (userTagObj != null) { List<UserTag> relTags = findSKOSNarrower(gnizrUser, userTagObj); for (UserTag ut : relTags) { if (ut.getTag().getCount() >= mf) { tags.add(new Tag(ut.getTag())); } } } } else if (gnizrUser == null) { throw new NoSuchUserException("missing superuser: " + UserSchema.GNIZR_USER); } return tags; }