code: @SuppressWarnings("unchecked")
      protected void initExportObject() {
  
          try {
              if (CmsStringUtil.isEmpty(getParamAction()) || CmsDialog.DIALOG_INITIAL.equals(getParamAction())) {
                  // create a new list
                  setGroups(new ArrayList<CmsGroup>());
                  setRoles(new ArrayList<CmsRole>());
              } else {
                  // this is not the initial call, get the message info object from session
                  setGroups((List<CmsGroup>)((Map<?, ?>)getDialogObject()).get("groups"));
                  setRoles((List<CmsRole>)((Map<?, ?>)getDialogObject()).get("roles"));
              }
          } catch (Exception e) {
              // create a new list
              setGroups(new ArrayList<CmsGroup>());
              setRoles(new ArrayList<CmsRole>());
          }
      }
docs: Initializes the message info object to work with depending on the dialog state and request parameters.<p>