docs: protected void init() throws JspException {
  
          // initialize OpenCms access objects
          m_controller = CmsFlexController.getController(pageContext.getRequest());
          m_cms = m_controller.getCmsObject();
  
          try {
              // get the resource name from the selected container
              m_element = OpenCms.getADEManager().getCurrentElement(pageContext.getRequest());
              m_element.initResource(m_cms);
              if (m_cms.getRequestContext().getCurrentProject().isOnlineProject()
                  && !m_element.isReleasedAndNotExpired()) {
                  throw new CmsException(
                      Messages.get().container(
                          Messages.ERR_RESOURCE_IS_NOT_RELEASE_OR_EXPIRED_1,
                          m_element.getResource().getRootPath()));
              }
              if (m_locale == null) {
                  // no locale set, use locale from users request context
                  m_locale = m_cms.getRequestContext().getLocale();
              }
  
              // load content and store it
              CmsJspContentAccessBean bean;
              if ((m_element.isInMemoryOnly() || m_element.isTemporaryContent())
                  && (m_element.getResource() instanceof CmsFile)) {
                  I_CmsXmlDocument xmlContent = CmsXmlContentFactory.unmarshal(
                      m_cms,
                      m_element.getResource(),
                      pageContext.getRequest());
                  bean = new CmsJspContentAccessBean(m_cms, m_locale, xmlContent);
              } else {
                  bean = new CmsJspContentAccessBean(m_cms, m_locale, m_element.getResource());
              }
              storeAttribute(getVar(), bean);
  
              if (m_value != null) {
                  // if the optional "val" parameter has been set, store the value map of the content in the page context scope
                  storeAttribute(getVal(), bean.getValue());
              }
  
              if (m_rdfa != null) {
                  // if the optional "rdfa" parameter has been set, store the rdfa map of the content in the page context scope
                  storeAttribute(getRdfa(), bean.getRdfa());
              }
  
          } catch (CmsException e) {
              LOG.error(e.getLocalizedMessage(), e);
              m_controller.setThrowable(e, m_cms.getRequestContext().getUri());
              throw new JspException(e);
          }
      }