docs: private CmsGroupContainerBean getGroupContainerBean(
          CmsGroupContainer groupContainer,
          CmsResource containerPage,
          String locale) {
  
          CmsObject cms = getCmsObject();
          List<CmsContainerElementBean> elements = new ArrayList<CmsContainerElementBean>();
          for (CmsContainerElement elementData : groupContainer.getElements()) {
              try {
                  if (elementData.isNew()) {
                      elementData = createNewElement(
                          containerPage.getStructureId(),
                          elementData.getClientId(),
                          elementData.getResourceType(),
                          null,
                          locale);
                  }
                  CmsContainerElementBean element = getCachedElement(
                      elementData.getClientId(),
                      containerPage.getRootPath());
  
                  // make sure resource is readable,
                  if (cms.existsResource(element.getId(), CmsResourceFilter.IGNORE_EXPIRATION)) {
                      elements.add(element);
                  }
  
              } catch (Exception e) {
                  log(e.getLocalizedMessage(), e);
              }
          }
          return new CmsGroupContainerBean(
              groupContainer.getTitle(),
              groupContainer.getDescription(),
              elements,
              groupContainer.getTypes());
      }