HelperManager { public Helper<C> getHelper(String name) { return this.helpers.get(name); } HelperManager(C connector); C getConnector(); boolean hasHelper(String name); Helper<C> getHelper(String name); @SuppressWarnings("unchecked") H getHelper(String name, Class<H> cls); void filters(String name, Helper<C> helper); CollectionBuilderHelper getCollectionBuilderHelper(); void setCollectionBuilderHelper(CollectionBuilderHelper<C> helper); MapBuilderHelper getMapBuilderHelper(); void setMapBuilderHelper(MapBuilderHelper<C> helper); void setHelper(String name, Helper<C> helper);  }
@Test void getHelper() { Helper<TestConnector> helper = this.manager.getHelper("test"); assertNotNull(helper); assertEquals(this.testHelper, helper); assertNull(this.manager.getHelper("no-test")); TestHelper test = this.manager.getHelper("test", TestHelper.class); assertNotNull(test); assertEquals(this.testHelper, test); assertThrows(IllegalArgumentException.class, () -> this.manager.getHelper("test", BlankHelper.class)); assertNull(this.manager.getHelper("no-test", TestHelper.class)); }