code: public CmsContainerPageElementPanel createGroupcontainerElement(
          CmsContainerElementData containerElement,
          List<CmsContainerElementData> subElements,
          I_CmsDropContainer container)
      throws Exception {
  
          Element element = DOM.createDiv();
          element.addClassName(CmsContainerElement.CLASS_GROUP_CONTAINER_ELEMENT_MARKER);
          CmsGroupContainerElementPanel groupContainer = createGroupcontainer(element, container, containerElement);
          groupContainer.setContainerId(container.getContainerId());
          //adding sub-elements
          Iterator<CmsContainerElementData> it = subElements.iterator();
          while (it.hasNext()) {
              CmsContainerElementData subElement = it.next();
              if (subElement.getContents().containsKey(container.getContainerId())) {
                  CmsContainerPageElementPanel subDragElement = createElement(subElement, groupContainer, false);
                  groupContainer.add(subDragElement);
              }
          }
          if (subElements.size() == 0) {
              groupContainer.addStyleName(I_CmsLayoutBundle.INSTANCE.containerpageCss().emptyGroupContainer());
          }
          addOptionBar(groupContainer);
          return groupContainer;
      }
docs: Creates a drag container element for group-container elements.<p>
  
  @param containerElement the container element data
  @param subElements the sub-elements
  @param container the drag parent
  
  @return the draggable element
  
  @throws Exception if something goes wrong