@Nullable
    private synchronized Supplier<DataSource<T>> getNextSupplier() {
      if (!isClosed() && mIndex < mDataSourceSuppliers.size()) {
        return mDataSourceSuppliers.get(mIndex++);
      }
      return null;
    }
{@link DataSource} supplier that provides a data source which will forward results of the first
available data source.

<p>Data sources are obtained in order. Only if the current data source fails, or if it finishes
without result, the next one will be tried.
fbcore/src/main/java/com/facebook/datasource/FirstAvailableDataSourceSupplier.java