@WorkerThread
    public static <C extends IConnector> void parallelCombineActive(
            final Collection<C> connectors, final Function<C, SearchResult> func, final BiConsumer<C, SearchResult> callback) {

        AndroidRxUtils.executeParallelThenCombine(connectors, conn -> conn.isActive() ? new Pair<>(conn, func.apply(conn)) : null,
            new Pair<>(null, null), (initial, srPair) -> {
                callback.accept(srPair.first, srPair.second);
                return initial;
            });
    }
execute the given connector request in parallel on all active connectors

@param initial    optional initial SearchResult. If given, new results are added to this, otherwise a new one is created
@param connectors connectors to be considered in request
@param func       connector request
main/src/main/java/cgeo/geocaching/SearchResult.java