While starting to look at SOLR-11299 I noticed some brittleness in assumptions about Strings that refer to a collection. Sometimes they are in fact references to comma separated lists, which appears was added with the introduction of collection aliases (an alias can refer to a comma delimited list). So Java's type system kind of goes out the window when we do this. In one case this leads to a bug – CloudSolrClient will throw an NPE if you try to write to such an alias. Sending an update via HTTP will allow it and send it to the first in the list.
So this issue is about refactoring and some little improvements pertaining to Aliases.java plus certain key spots that deal with collection references. I don't think I want to go as far as changing the public SolrJ API except to adding documentation on what's possible.