code: private boolean selectionsEqual(final List<?> list1, final List<?> list2) {
  		return (list1 == null || list1.isEmpty()) && (list2 == null || list2.isEmpty())
  				|| (list1 != null && list2 != null && list1.size() == list2.size() && list1.
  				containsAll(list2));
  	}
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 list1 the first list to check.
  @param list2 the second list to check.
  @return true if the lists are equal, false otherwise.