NotificationManager extends AbstractDataSourcePropertyManager<Client, NotificationClientRepository> implements DataSink { @Override public void onNewDataStart(DataSource source) { for (Client client : getAll(source)) { senderCache.get(source, client).onNewDataStart(); } } @Inject  NotificationManager(
			Cache<NotificationClientRepository> repositoryCache,
			RepositoryFactory repositoryFactory,
			SenderCache senderCache); @Override void onNewDataStart(DataSource source); @Override void onNewDataItem(DataSource source, ObjectNode data); @Override void onNewDataComplete(DataSource source);  }
@Test public void testOnNewDataStart() { new Expectations(notificationManager) {{ senderCache.get(source, httpClient); result = httpSender; notificationManager.getAll(source); result = Arrays.asList(httpClient, gcmClient); }}; notificationManager.onNewDataStart(source); new Verifications() {{ httpSender.onNewDataStart(); gcmSender.onNewDataStart(); }}; }