docs: public Map<String, Object> addAttributeMap(Map<String, Object> map) {
  
          if (map == null) {
              return m_attributes;
          }
          if ((m_attributes == null) || (m_attributes.size() == 0)) {
              m_attributes = new HashMap<String, Object>(map);
          } else {
              Map<String, Object> attributes = new HashMap<String, Object>();
              attributes.putAll(m_attributes);
              Iterator<Map.Entry<String, Object>> it = map.entrySet().iterator();
              while (it.hasNext()) {
                  Map.Entry<String, Object> entry = it.next();
                  String key = entry.getKey();
                  // prevent flexcache controller to be overwritten
                  if (CmsFlexController.ATTRIBUTE_NAME.equals(key)) {
                      continue;
                  } else if (CmsJspStandardContextBean.ATTRIBUTE_NAME.equals(key)) {
                      CmsJspStandardContextBean bean = (CmsJspStandardContextBean)entry.getValue();
                      bean.updateCmsObject(m_controller.getCmsObject());
                      bean.updateRequestData(this);
                  }
                  attributes.put(key, entry.getValue());
              }
              m_attributes = new HashMap<String, Object>(attributes);
          }
  
          return m_attributes;
      }