@Test
public void testStripOrphanFromTwoAncestors() {

	Item unrelatedChild1 = new Item();
	unrelatedChild1.setId("unrelated");
	
	Item unrelatedChild2 = new Item();
	unrelatedChild2.setId("unrelated");
	
	
	Item parent1 = new Item();
	parent1.setId("parent1");
	parent1.setChildren(
		new ArrayList<>(Arrays.asList(unrelatedChild1, orphan))
	);
	
	Item parent2 = new Item();
	parent2.setId("parent2");
	parent2.setChildren(
		new ArrayList<>(Arrays.asList(orphan, unrelatedChild2))
	);
	
	
	Item expectedParent1 = Item.copyValues(parent1, null);
	expectedParent1.setChildren(
		new ArrayList<>(Arrays.asList(unrelatedChild1))
	);
	
	Item expectedParent2 = Item.copyValues(parent2, null);
	expectedParent2.setChildren(
		new ArrayList<>(Arrays.asList(unrelatedChild2))
	);
	
	List<Item> expectedItems = new ArrayList<>(Arrays.asList(
		expectedParent1, expectedParent2
	));
	
	List<Item> ancestors = new ArrayList<>(Arrays.asList(parent1, parent2));
	List<Item> actualItems = ItemUtil.stripOrphanFromAncestors(orphan, ancestors);
	assertEquals(expectedItems, actualItems);
}