code: protected <W extends Widget> W widget(Element e, WidgetFactory<W> factory,
        WidgetInitializer<W> initializer) {
  
      if (!isWidgetCreationAuthorizedFrom(e)) {
        return null;
      }
  
      W widget = factory.create(e);
      if (initializer != null) {
        initializer.initialize(widget, e);
      }
      return widget;
    }
docs: Create and return a widget using the given factory and the given options.