code: private List<CmsContainerElementData> getListElementsData(
          List<CmsContainerElementBean> listElements,
          String containerpageUri,
          CmsUUID detailContentId,
          Collection<CmsContainer> containers,
          Locale locale)
      throws CmsException {
  
          CmsObject cms = getCmsObject();
          CmsElementUtil elemUtil = new CmsElementUtil(
              cms,
              containerpageUri,
              generateContainerPageForContainers(containers, cms.getRequestContext().addSiteRoot(containerpageUri)),
              detailContentId,
              getRequest(),
              getResponse(),
              true,
              locale);
          CmsADESessionCache cache = getSessionCache();
          List<CmsContainerElementData> result = new ArrayList<CmsContainerElementData>();
          for (CmsContainerElementBean element : listElements) {
              // checking if resource exists
              if (cms.existsResource(element.getId(), CmsResourceFilter.ONLY_VISIBLE_NO_DELETED.addRequireFile())) {
                  cache.setCacheContainerElement(element.editorHash(), element);
                  CmsContainerElementData elementData = elemUtil.getElementData(elemUtil.getPage(), element, containers);
                  result.add(elementData);
              }
          }
          return result;
      }
docs: Returns the data of the given elements.<p>
  
  @param listElements the list of element beans to retrieve the data for
  @param containerpageUri the current URI
  @param detailContentId the detail content structure id
  @param containers the containers which exist on the container page
  @param locale the locale to use
  
  @return the elements data
  
  @throws CmsException if something really bad happens