docs: public void setSortedColumn(String sortedColumn) throws CmsIllegalArgumentException {
  
          // check if the parameter is valid
          if ((getMetadata().getColumnDefinition(sortedColumn) == null)
              || !getMetadata().getColumnDefinition(sortedColumn).isSorteable()) {
              return;
          }
          // reset view
          setCurrentPage(1);
          // only reverse order if the column to sort is already sorted
          if (sortedColumn.equals(m_sortedColumn)) {
              if (m_currentSortOrder == CmsListOrderEnum.ORDER_ASCENDING) {
                  m_currentSortOrder = CmsListOrderEnum.ORDER_DESCENDING;
              } else {
                  m_currentSortOrder = CmsListOrderEnum.ORDER_ASCENDING;
              }
              if (!m_metadata.isSelfManaged()) {
                  if (m_filteredItems == null) {
                      m_filteredItems = new ArrayList<CmsListItem>(getAllContent());
                  }
                  Collections.reverse(m_filteredItems);
              }
              return;
          }
          // sort new column
          m_sortedColumn = sortedColumn;
          m_currentSortOrder = CmsListOrderEnum.ORDER_ASCENDING;
          if (!m_metadata.isSelfManaged()) {
              if (m_filteredItems == null) {
                  m_filteredItems = new ArrayList<CmsListItem>(getAllContent());
              }
              I_CmsListItemComparator c = getMetadata().getColumnDefinition(sortedColumn).getListItemComparator();
              Collections.sort(m_filteredItems, c.getComparator(sortedColumn, getWp().getLocale()));
          }
      }