code: private Map<String, Set<SequenceEntityReference>> organismToProteinRefsMap(Set<SequenceEntityReference> seqErs)
  	{
  		Map<String,Set<SequenceEntityReference>> map = new HashMap<String, Set<SequenceEntityReference>>();
  
  		if(seqErs.isEmpty())
  			throw new IllegalArgumentException("Empty set");
  		
  		if (crossSpeciesCheckEnabled) {
  			for (SequenceEntityReference r : seqErs) {
  				String key = getOrganismKey(r.getOrganism()); // null org. is ok (key == "")
  				//collect PRs only from allowed organisms
  				if(allowedOrganisms==null || allowedOrganisms.isEmpty() || allowedOrganisms.contains(key)) {
  					Set<SequenceEntityReference> sers = map.get(key);
  					if (sers == null) {
  						sers = new HashSet<SequenceEntityReference>();
  						map.put(key, sers);
  					}
  					sers.add(r);
  				}
  			}
  		} else {
  			final Set<SequenceEntityReference> sers = new HashSet<SequenceEntityReference>();
  			for (SequenceEntityReference r : seqErs) {
  				String key = getOrganismKey(r.getOrganism());
  				//collect PRs only from allowed organisms
  				if(allowedOrganisms==null || allowedOrganisms.isEmpty() || allowedOrganisms.contains(key)) {
  					sers.add(r);
  				}
  			}
  			map.put("", sers);
  		}
  				
  		return map;
  	}
docs: warn: there can be many equivalent BioSource objects (same taxonomy id, different URIs)