Wouldn't it be better to have a number of constructors or static factory methods so only one of uris, ids and publisher can be set?