protected void verifyState(
        DataSource<Object> dataSource,
        @Nullable DataSource<Object> dataSourceWithResult,
        boolean isClosed,
        boolean isFinished,
        boolean hasResult,
        Object result,
        boolean hasFailed,
        Throwable failureCause) {
      DataSourceTestUtils.verifyState(
          dataSource, isClosed, isFinished, hasResult, result, hasFailed, failureCause);
      // DataSourceTestUtils.verifyState will call dataSource.getResult() which should forward to
      // underlyingDataSource.getResult()
      if (dataSourceWithResult != null) {
        mInOrder.verify(dataSourceWithResult).getResult();
      }
      verifyNoMoreInteractionsAll();
    }
Verifies the state of the data source provided by our mDataSourceSupplier.
fbcore/src/test/java/com/facebook/datasource/DataSourceTestUtils.java