@Override
  public void onProjectBranchesChanged(Set<Project> projects, Set<String> impactedBranches) {
    checkNotNull(projects, "projects can't be null");
    if (projects.isEmpty()) {
      return;
    }

    Arrays.stream(listeners)
      .forEach(safelyCallListener(listener -> listener.onProjectBranchesChanged(projects, impactedBranches)));
  }
@Test
  public void onProjectBranchesChanged_has_no_effect_if_set_is_empty() {
    underTestNoListeners.onProjectBranchesChanged(Collections.emptySet(), emptySet());

    underTestWithListeners.onProjectBranchesChanged(Collections.emptySet(), emptySet());
    verifyNoInteractions(listener1, listener2, listener3);
  }