docs: protected Flowable<Map.Entry<Integer, PropertySource>> aggregateResults(InfoSource[] sources) {
          List<Publisher<Map.Entry<Integer, PropertySource>>> publishers = new ArrayList<>(sources.length);
          for (int i = 0; i < sources.length; i++) {
              int index = i;
              Single<Map.Entry<Integer, PropertySource>> single = Flowable
                  .fromPublisher(sources[i].getSource())
                  .first(new EmptyPropertySource())
                  .map((source) -> new AbstractMap.SimpleEntry<>(index, source));
              publishers.add(single.toFlowable());
          }
          return Flowable.merge(publishers);
      }