code: public <W extends Widget> Widgets widgets(WidgetFactory<W> factory,
        WidgetInitializer<W> initializers) {
      List<Element> result = new ArrayList<>();
      for (Element e : elements()) {
        W w = widget(e, factory, initializers);
        if (w != null) {
          result.add(w.getElement());
        }
      }
      return $(result).as(Widgets);
    }
docs: Try to create a widget using the given factory and the given options for
  each element of the query. Returns a new gquery set of elements with the
  new widgets created.