code: public Multiset<O> difference(Multiset<O> multiset) throws ParameterException {
  		Validate.notNull(multiset);
  		Multiset<O> result = new Multiset<>();
  		for (O o : support()) {
  			if (multiset.multiplicity(o) > 0) {
  				result.setMultiplicity(o, Math.max(0, multiplicity(o) - multiset.multiplicity(o)));
  			} else {
  				result.setMultiplicity(o, multiplicity(o));
  			}
  		}
  		return result;
  	}
docs: Returns the multiset resulting from subtracting the given multiset
  from the multiset.<br>
  This operation does not change this multiset.
  
  @param multiset The multiset to subtract.
  @return The multiset resulting from subtraction.
  @throws ParameterException