code: @SuppressWarnings("unchecked")
  	public Multiset<O> union(Multiset<O> multiset) throws ParameterException {
  		Validate.notNull(multiset);
  		Multiset<O> result = new Multiset<>();
  		for (O o : SetUtils.union(support(), multiset.support())) {
  			result.setMultiplicity(o, Math.max(multiplicity(o), multiset.multiplicity(o)));
  		}
  		return result;
  	}
docs: Returns the multiset that results from the combination of this
  multiset and the give nmultiset.<br>
  This operation does not change this multiset.
  
  @param multiset The multiset to combine with this multiset.
  @return The union multiset.
  @throws ParameterException