docs: public static CmsGalleryTabConfiguration parse(String configStr) {
  
          String[] tokens = configStr.split(" *, *");
          GalleryTabId defaultTabId = null;
          // use LinkedHashMap to preserve both order and uniqueness of tabs
          LinkedHashMap<GalleryTabId, Object> tabs = new LinkedHashMap<GalleryTabId, Object>();
          for (String token : tokens) {
              token = token.trim();
              boolean isDefault = false;
              if (token.startsWith("*")) {
                  token = token.substring(1).trim();
                  isDefault = true;
              }
              GalleryTabId tab = parseTabId(token);
              if (tab != null) {
                  tabs.put(tab, null);
                  if (isDefault && (defaultTabId == null)) {
                      defaultTabId = tab;
                  }
              }
          }
          List<GalleryTabId> tabsList = new ArrayList<GalleryTabId>();
          for (GalleryTabId tab : tabs.keySet()) {
              tabsList.add(tab);
          }
          if (defaultTabId == null) {
              defaultTabId = tabsList.get(0);
          }
          return new CmsGalleryTabConfiguration(tabsList).withDefault(defaultTabId);
  
      }