docs: public synchronized CmsListMetadata getMetadata(String listDialogName, String listId) {
  
          getSettings();
          String metaDataKey = listDialogName + listId;
  
          if ((getMetadataCache().get(metaDataKey) == null) || getMetadataCache().get(metaDataKey).isVolatile()) {
              if (LOG.isDebugEnabled()) {
                  LOG.debug(Messages.get().getBundle().key(Messages.LOG_START_METADATA_LIST_1, getListId()));
              }
              CmsListMetadata metadata = new CmsListMetadata(listId);
  
              setColumns(metadata);
              // always check the search action
              setSearchAction(metadata, m_searchColId);
              setIndependentActions(metadata);
              metadata.addIndependentAction(new CmsListPrintIAction());
              setMultiActions(metadata);
              metadata.checkIds();
              getMetadataCache().put(metaDataKey, metadata);
              if (LOG.isDebugEnabled()) {
                  LOG.debug(Messages.get().getBundle().key(Messages.LOG_END_METADATA_LIST_1, getListId()));
              }
          }
          return getMetadata(metaDataKey);
      }