code: private void render(List<T> data) {
          List<Widget> widgets = new ArrayList<>();
          for (T model : data) {
              Widget widget = renderer.render(model);
              widget.getElement().setId("item-" + itemCount);
              add(widget);
              widgets.add(widget);
              itemCount++;
          }
  
          // Check if recycling is enabled
          if (isEnableRecycling()) {
              recycleManager.recycleWidgets(widgets);
          }
  
          // Will force the scroll panel to have a scroll if it isn't visible
          if (!hasScrollBar()) {
              int height = $(widgets.get(0).getElement()).outerHeight();
              getElement().getStyle().setHeight(height, Style.Unit.PX);
          }
      }
docs: Will render the provided data result with the provided {@link Renderer}.
  This method will also check if recycling is enabled (You can turn on recycling by setting {@link this#setRecycleManager(RecycleManager)}.