### Question:
CollectionUtils { public static <T> void addUniqueValues(List<T> source, List<T> target) { for(T item : source) { if(!target.contains(item)) { target.add(item); } } } private  CollectionUtils(); static void reconcileObjectCollections(Collection<T> existingCollection, Collection<T> updatedCollection,
                                                         CollectionReconciliationHelper<T, K> reconciliationHelper,
                                                         boolean removeMissingObjects); @SuppressWarnings("unchecked") static List<T> toBaseTypedList(List<? extends T> initial); @SuppressWarnings("unchecked") static Collection<T> toBaseTypedCollection(Collection<? extends T> initial); static void addUniqueValues(List<T> source, List<T> target); static T getSingleValue(List<T> list);  }### Answer:
@Test public void addUniqueValues() { List<TestObject> source = new ArrayList<TestObject>(); TestObject testObject1 = new TestObject("a", "b"); TestObject testObject2 = new TestObject("b", "c"); TestObject testObject3 = new TestObject("k", "l"); source.add(testObject1); source.add(testObject2); List<TestObject> target = new ArrayList<TestObject>(); target.add(testObject1); target.add(testObject3); CollectionUtils.addUniqueValues(source, target); assertThat(target.size(), is(equalTo(3))); assertThat(target.contains(testObject1), is(true)); assertThat(target.contains(testObject2), is(true)); assertThat(target.contains(testObject3), is(true)); }