code: static DefaultPlaceholderId createWithFactories(String name, Iterable<TagFactory> tagFactories, Registry registry) {
      if (tagFactories == null) {
        return new DefaultPlaceholderId(name, registry);
      } else {
        FactorySorterAndDeduplicator sorter = new FactorySorterAndDeduplicator(tagFactories);
  
        return new DefaultPlaceholderId(name, sorter.asCollection(), registry);
      }
    }
docs: Creates a new id with the specified name and collection of factories.
  
  @param name
  the name of the new id
  @param tagFactories
  the possibly empty collection of factories to be attached to the new id
  @param registry
  the registry to use when resolving to an {@link Id}
  @return
  the newly created id