code: public static DropContainer render(BaseComponent dropRoot, BaseComponent droppedItem) {
          IDropRenderer dropRenderer = DropUtil.getDropRenderer(droppedItem);
          
          if (dropRenderer == null || !dropRenderer.isEnabled()) {
              return null;
          }
          
          BaseComponent renderedItem = dropRenderer.renderDroppedItem(droppedItem);
          DropContainer dropContainer = null;
          
          if (renderedItem != null) {
              String title = dropRenderer.getDisplayText(droppedItem);
              dropContainer = renderedItem.getAncestor(DropContainer.class);
              
              if (dropContainer != null) {
                  dropContainer.setTitle(title);
                  dropContainer.moveToTop(dropRoot);
              } else {
                  dropContainer = DropContainer.create(dropRoot, renderedItem, title,
                      InfoPanelService.getActionListeners(droppedItem));
              }
          }
          
          return dropContainer;
      }
docs: Renders a droppedItem in a container.
  
  @param dropRoot The root component that will host the container.
  @param droppedItem The item being dropped.
  @return The container hosting the rendered item. If the droppedItem was previously rendered,
  its hosting container is returned after moving it in front of its siblings. If the
  droppedItem is successfully rendered, its newly created container is returned. If the
  droppedItem cannot be rendered, null will be returned.