code: public static boolean isEqualCollection (final Collection a, final Collection b) {
  		if (a.size() != b.size()) {
  			return false;
  		} else {
  			Map mapa = getCardinalityMap(a);
  			Map mapb = getCardinalityMap(b);
  			if (mapa.size() != mapb.size()) {
  				return false;
  			} else {
  				Iterator it = mapa.keySet().iterator();
  				while (it.hasNext()) {
  					Object obj = it.next();
  					if (getFreq(obj, mapa) != getFreq(obj, mapb)) {
  						return false;
  					}
  				}
  				return true;
  			}
  		}
  	}
docs: Returns <tt>true</tt> iff the given {@link Collection}s contain
  exactly the same elements with exactly the same cardinality.
  <p>
  That is, iff the cardinality of <i>e</i> in <i>a</i> is
  equal to the cardinality of <i>e</i> in <i>b</i>,
  for each element <i>e</i> in <i>a</i> or <i>b</i>.