code: private boolean selectionsEqual(final Set<?> set1, final Set<?> set2) {
  		// Empty or null lists
  		if ((set1 == null || set1.isEmpty()) && (set2 == null || set2.isEmpty())) {
  			return true;
  		}
  
  		// Same size and contain same entries
  		return set1 != null && set2 != null && set1.size() == set2.size() && set1.
  				containsAll(set2);
  	}
docs: Selection lists are considered equal if they have the same items (order is not important). An empty list is
  considered equal to a null list.
  
  @param set1 the first list to check.
  @param set2 the second list to check.
  @return true if the lists are equal, false otherwise.