@Override
  public void onProjectsRekeyed(Set<RekeyedProject> rekeyedProjects) {
    checkNotNull(rekeyedProjects, "rekeyedProjects can't be null");
    if (rekeyedProjects.isEmpty()) {
      return;
    }

    Arrays.stream(listeners)
      .forEach(safelyCallListener(listener -> listener.onProjectsRekeyed(rekeyedProjects)));
  }
@Test
  public void onProjectsRekeyed_has_no_effect_if_set_is_empty() {
    underTestNoListeners.onProjectsRekeyed(Collections.emptySet());

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