docs: public static Elements select(String query, Iterable<Element> roots) {
          Validate.notEmpty(query);
          Validate.notNull(roots);
          Evaluator evaluator = QueryParser.parse(query);
          ArrayList<Element> elements = new ArrayList<>();
          IdentityHashMap<Element, Boolean> seenElements = new IdentityHashMap<>();
          // dedupe elements by identity, not equality
  
          for (Element root : roots) {
              final Elements found = select(evaluator, root);
              for (Element el : found) {
                  if (!seenElements.containsKey(el)) {
                      elements.add(el);
                      seenElements.put(el, Boolean.TRUE);
                  }
              }
          }
          return new Elements(elements);
      }