ConvertedCursorAsync extends ContentObserverAsync<D, ConvertedCursorAsync.LoadTask<D>> { @Override public ConvertedCursorAsync<D> replicate() { return new ConvertedCursorAsync<>(getTask(), getExecutor()); } ConvertedCursorAsync(final Params params, final CursorConverter<D> converter,
                              final ContentResolver resolver, final Executor executor); private  ConvertedCursorAsync(final LoadTask<D> task, final Executor executor); @Override ConvertedCursorAsync<D> replicate();  }
@SuppressWarnings("unchecked") @Test public void replicateShouldReturnNewInstance() { Async<?> async = asyncCursor(application) .uri(uri) .convertFirst(mock(CursorConverter.class)) .get(); assertThat(async.replicate()).isNotSameAs((Async) async).isNotNull(); }