Values extends HashSet<T> { public boolean isThereChanges(final Values otherValues) { if (this.isEmpty() && !otherValues.isEmpty()) { return true; } else if (!this.isEmpty() && otherValues.isEmpty()) { return true; } else if (this.isEmpty() && otherValues.isEmpty()) { return false; } else if (this.size() != otherValues.size()) { return true; } else if (!areValuesEqual(otherValues)) { return true; } else { return false; } } Values(final Comparable... list);  Values(); @Override String toString(); boolean isThereChanges(final Values otherValues); boolean containsAny(final Values values); static Values<T> nullValue();  }
@Test public void testChanges() throws Exception { final Values a = new Values(); final Values b = new Values(); assertFalse( a.isThereChanges( b ) ); }