### Question:
ChildrenProviderSortingWithID extends ChildrenProviderSorting <CHILDTYPE> implements
                                           IChildrenProviderWithID <KEYTYPE, CHILDTYPE> { @Nullable public CHILDTYPE getChildWithID (@Nullable final CHILDTYPE aCurrent, @Nullable final KEYTYPE aID) { return getChildrenProvider ().getChildWithID (aCurrent, aID); } ChildrenProviderSortingWithID(@Nonnull final IChildrenProviderWithID <KEYTYPE, CHILDTYPE> aCP,
                                        @Nonnull final Comparator <? super CHILDTYPE> aComparator); @Override @Nonnull IChildrenProviderWithID <KEYTYPE, CHILDTYPE> getChildrenProvider(); @Nullable CHILDTYPE getChildWithID(@Nullable final CHILDTYPE aCurrent, @Nullable final KEYTYPE aID);  }### Answer:
@Test public void testAll () { final ChildrenProviderSortingWithID <String, MockHasChildren> cr = new ChildrenProviderSortingWithID <> (new MockChildrenProviderWithID (), IHasID.getComparatorID ()); assertFalse (cr.hasChildren (null)); assertEquals (0, cr.getChildCount (null)); assertNull (cr.getAllChildren (null)); final MockHasChildren hca = new MockHasChildren ("a"); final MockHasChildren hcb = new MockHasChildren ("b"); final MockHasChildren hc1 = new MockHasChildren ("1", hcb, hca); assertTrue (cr.hasChildren (hc1)); assertFalse (cr.hasChildren (hca)); assertEquals (2, cr.getChildCount (hc1)); assertEquals (0, cr.getChildCount (hca)); assertNotNull (cr.getAllChildren (hc1)); assertNotNull (cr.getAllChildren (hca)); assertSame (hca, cr.getChildWithID (hc1, "a")); assertSame (hcb, cr.getChildWithID (hc1, "b")); assertNull (cr.getChildWithID (hc1, "anyid")); }