### Question:
IteratorRemoveHandlerProvider extends AbstractServiceLoaderProvider<IteratorRemoveHandler> { @SuppressWarnings("unchecked") public <E, N extends OpenNode<E, N>, T extends Tree<E, N>> IteratorRemoveHandler<E, N, T> get(T tree) { return getRaw(tree.getClass()); } IteratorRemoveHandlerProvider(KeyMappingProvider keyMappingProvider); @SuppressWarnings("unchecked") IteratorRemoveHandler<E, N, T> get(T tree);  }### Answer:
@Test public void get() { final IteratorRemoveHandlerProvider supplier = new IteratorRemoveHandlerProvider( KeyMappingProvider.get()); final IteratorRemoveHandler<String, Node<String>, Tree<String, Node<String>>> handler = supplier.get(tree); assertEquals(DefaultRemovalHandler.class, handler.getClass()); }