### Question:
RuntimeDelegateImpl extends RuntimeDelegate { @SuppressWarnings("unchecked") @Override public <T> HeaderDelegate<T> createHeaderDelegate(Class<T> type) { if (type == null) { throw new IllegalArgumentException("HeaderDelegate type is null"); } return (HeaderDelegate<T>)headerProviders.get(type); } RuntimeDelegateImpl(); T createInstance(Class<T> type); @SuppressWarnings("unchecked") @Override HeaderDelegate<T> createHeaderDelegate(Class<T> type); @Override ResponseBuilder createResponseBuilder(); @Override UriBuilder createUriBuilder(); @Override VariantListBuilder createVariantListBuilder(); @Override T createEndpoint(Application app, Class<T> endpointType); @Override Link.Builder createLinkBuilder();  }### Answer:
@Test public void testCreateHeaderProvider() throws Exception { assertSame(MediaTypeHeaderProvider.class, new RuntimeDelegateImpl(). createHeaderDelegate(MediaType.class).getClass()); assertSame(EntityTagHeaderProvider.class, new RuntimeDelegateImpl(). createHeaderDelegate(EntityTag.class).getClass()); assertSame(CacheControlHeaderProvider.class, new RuntimeDelegateImpl(). createHeaderDelegate(CacheControl.class).getClass()); assertSame(CookieHeaderProvider.class, new RuntimeDelegateImpl(). createHeaderDelegate(Cookie.class).getClass()); assertSame(NewCookieHeaderProvider.class, new RuntimeDelegateImpl(). createHeaderDelegate(NewCookie.class).getClass()); }