### Question:
IcyHttpDataSourceFactory extends OkHttpDataSource.BaseFactory { @Override protected IcyHttpDataSource createDataSourceInternal(@NonNull HttpDataSource.RequestProperties defaultRequestProperties) { return new IcyHttpDataSource.Builder(callFactory) .setUserAgent(userAgent) .setContentTypePredicate(contentTypePredicate) .setCacheControl(cacheControl) .setDefaultRequestProperties(defaultRequestProperties) .setIcyHeadersListener(icyHeadersListener) .setIcyMetadataListener(icyMetadataListener) .build(); } private  IcyHttpDataSourceFactory();   }### Answer:
@Test public void createDataSourceViaFactoryFromFactoryBuilder() { OkHttpClient client = new OkHttpClient.Builder().build(); IcyHttpDataSourceFactory factory = new IcyHttpDataSourceFactory.Builder(client) .setUserAgent(Constants.TEST_USER_AGENT) .setIcyHeadersListener(TEST_ICY_HEADERS_LISTENER) .setIcyMetadataChangeListener(TEST_ICY_METADATA_LISTENER) .build(); HttpDataSource.RequestProperties requestProperties = new HttpDataSource.RequestProperties(); IcyHttpDataSource source = factory.createDataSourceInternal(requestProperties); assertNotNull(source); }