code: @SuppressWarnings("unchecked")
      protected void initUserObject() {
  
          try {
              if (CmsStringUtil.isEmpty(getParamAction()) || CmsDialog.DIALOG_INITIAL.equals(getParamAction())) {
                  // edit an existing user, get the user object from db
                  m_user = getCms().readUser(new CmsUUID(getParamUserid()));
                  if (!Boolean.valueOf(getParamEditall()).booleanValue()) {
                      m_addInfoList = createAddInfoList(m_user);
                  } else {
                      setAddInfoMaps();
                  }
                  return;
              } else {
                  // this is not the initial call, get the user object from session
                  m_user = getCms().readUser(new CmsUUID(getParamUserid()));
                  if (!Boolean.valueOf(getParamEditall()).booleanValue()) {
                      m_addInfoList = (List<CmsUserAddInfoBean>)getDialogObject();
                  } else {
                      Map<String, SortedMap<String, Object>> dObj = (Map<String, SortedMap<String, Object>>)getDialogObject();
                      m_addInfoEditable = dObj.get("editable");
                      m_addInfoReadOnly = dObj.get("readonly");
                  }
                  return;
              }
          } catch (Exception e) {
              // noop
          }
          // create a new user object
          try {
              m_user = getCms().readUser(new CmsUUID(getParamUserid()));
          } catch (CmsException e) {
              // ignore
          }
          if (!Boolean.valueOf(getParamEditall()).booleanValue()) {
              m_addInfoList = createAddInfoList(m_user);
          } else {
              setAddInfoMaps();
          }
      }
docs: Initializes the additional info bean to work with, depending on the dialog state and request parameters.<p>