code: public Optional<CmsContainerPageElementPanel> getContainerElementWidgetForElement(Element element) {
  
          final Element parentContainerElement = CmsDomUtil.getAncestor(
              element,
              I_CmsLayoutBundle.INSTANCE.dragdropCss().dragElement());
          if (parentContainerElement == null) {
              return Optional.absent();
          }
          final List<CmsContainerPageElementPanel> result = Lists.newArrayList();
          processPageContent(new I_PageContentVisitor() {
  
              public boolean beginContainer(String name, CmsContainer container) {
  
                  // we don't need to look into the container if we have already found our container element
                  return result.isEmpty();
              }
  
              public void endContainer() {
  
                  // do nothing
              }
  
              public void handleElement(CmsContainerPageElementPanel current) {
  
                  if ((current.getElement() == parentContainerElement) && result.isEmpty()) {
                      result.add(current);
                  }
              }
          });
          if (result.isEmpty()) {
              return Optional.absent();
          } else {
              return Optional.fromNullable(result.get(0));
          }
      }
docs: Gets the container element widget to which the given element belongs, or Optional.absent if none could be found.<p>
  
  @param element the element for which the container element widget should be found
  
  @return the container element widget, or Optional.absent if none can be found