### Question:
DelegateProvider { public <T extends Delegate> T get(Class<T> delegateClass) { return injector.getInstance(delegateClass); } @Inject  DelegateProvider(Injector injector); T get(Class<T> delegateClass);  }### Answer:
@Test public void testGetDelegateInstance() { TestDelegate delegate1 = provider.get(TestDelegate.class); TestDelegate delegate2 = provider.get(TestDelegate.class); assertNotNull(delegate1); assertNotNull(delegate2); assertNotSame(delegate1, delegate2); }