code: public void addColumn(CmsListColumnDefinition listColumn, int position) {
  
          setListIdForColumn(listColumn);
          if (m_columns.elementList().isEmpty()) {
              listColumn.setPrintable(true);
          } else {
              listColumn.setPrintable(listColumn.isSorteable());
          }
          if ((listColumn.getName() == null) && listColumn.isPrintable()) {
              listColumn.setPrintable(false);
          }
          m_columns.addIdentifiableObject(listColumn.getId(), listColumn, position);
      }
docs: Adds a new column definition at the given position.<p>
  
  By default a column is printable if it is the first column in the list,
  or if it is sorteable.<p>
  
  If you want to override this behaviour, use the
  {@link CmsListColumnDefinition#setPrintable(boolean)}
  method after calling this one.
  
  @param listColumn the column definition
  @param position the position
  
  @see CmsIdentifiableObjectContainer