code: @Override
      public Set<Node> findUsers(QueryBuilder qb) {
          Set<Node> users = new TreeSet<>();
          String query = qb.getQuery();
          try {
              SearchResult searchResult;
              Attributes attributes;
              SearchControls controls = new SearchControls();
              controls.setReturningAttributes(new String[]{LdapKeys.ASTERISK, LdapKeys.MODIFY_TIMESTAMP, LdapKeys.MODIFIERS_NAME});
              controls.setSearchScope(SearchControls.SUBTREE_SCOPE);
              NamingEnumeration<SearchResult> results = ctx.search("", query, controls);
              queryCount++;
              while (results.hasMore()) {
                  searchResult = results.next();
                  attributes = searchResult.getAttributes();
                  LdapUser user = new LdapUser();
                  user.setDn(searchResult.getNameInNamespace());
                  user = fillAttributesInUser(user, attributes);
                  users.add(user);
              }
          } catch (NamingException ex) {
              handleNamingException(instanceName + ":" + qb.getQuery(), ex);
          }
          return users;
      }
docs: {@inheritDoc}