private static Source sourceFrom()

in jvm/diffuser/src/main/java/com/spotify/diffuser/fuser/Fuser.java [211:227]


  private static <A> Source<A> sourceFrom(List<Fuser<A>> fusers) {
    return effect -> {
      final List<Disposable> disposables = new ArrayList<>();
      for (final Fuser<A> fuser : fusers) {
        final Disposable disposable = fuser.connect(effect);
        disposables.add(disposable);
      }
      return () -> {
        synchronized (disposables) {
          for (final Disposable disposable : disposables) {
            disposable.dispose();
          }
          disposables.clear();
        }
      };
    };
  }