code: private CmsContainerElementData getNewElement(
          String resourceTypeName,
          String uriParam,
          CmsUUID detailContentId,
          Collection<CmsContainer> containers,
          Locale locale)
      throws CmsException {
  
          CmsObject cms = getCmsObject();
          CmsElementUtil elemUtil = new CmsElementUtil(
              cms,
              uriParam,
              generateContainerPageForContainers(containers, cms.getRequestContext().addSiteRoot(uriParam)),
              detailContentId,
              getRequest(),
              getResponse(),
              true,
              locale);
          CmsADEConfigData configData = getConfigData(cms.getRequestContext().addSiteRoot(uriParam));
          CmsResourceTypeConfig typeConfig = configData.getResourceType(resourceTypeName);
          CmsContainerElementBean elementBean = CmsContainerElementBean.createElementForResourceType(
              cms,
              OpenCms.getResourceManager().getResourceType(resourceTypeName),
              "/",
              Collections.<String, String> emptyMap(),
              typeConfig.isCopyInModels(),
              locale);
          CmsContainerElementData data = elemUtil.getElementData(elemUtil.getPage(), elementBean, containers);
          data.setClientId(elementBean.editorHash());
          getSessionCache().setCacheContainerElement(resourceTypeName, elementBean);
          getSessionCache().setCacheContainerElement(elementBean.editorHash(), elementBean);
          return data;
      }
docs: Returns the element data for a new element not existing in the VFS yet.<p>
  
  @param resourceTypeName the resource type name
  @param uriParam the request parameters
  @param detailContentId the detail content structure id
  @param containers the containers of the template
  @param locale the current locale
  
  @return the element data
  
  @throws CmsException if something goes wrong