### Question:
WorkContinuationImpl extends WorkContinuation implements SynchronousWorkContinuation { public List<WorkContinuationImpl> getParents() { return mParents; } WorkContinuationImpl(
            @NonNull WorkManagerImpl workManagerImpl,
            @NonNull List<? extends WorkRequest> work);   WorkContinuationImpl(
            @NonNull WorkManagerImpl workManagerImpl,
            String name,
            ExistingWorkPolicy existingWorkPolicy,
            @NonNull List<? extends WorkRequest> work);   WorkContinuationImpl(@NonNull WorkManagerImpl workManagerImpl,
            String name,
            ExistingWorkPolicy existingWorkPolicy,
            @NonNull List<? extends WorkRequest> work,
            @Nullable List<WorkContinuationImpl> parents); @NonNull WorkManagerImpl getWorkManagerImpl(); @Nullable String getName(); ExistingWorkPolicy getExistingWorkPolicy(); @NonNull List<? extends WorkRequest> getWork(); @NonNull List<String> getIds(); List<String> getAllIds(); boolean isEnqueued(); void markEnqueued(); List<WorkContinuationImpl> getParents(); @Override WorkContinuation then(List<OneTimeWorkRequest> work); @Override LiveData<List<WorkStatus>> getStatuses(); @Override List<WorkStatus> getStatusesSync(); @Override void enqueue(); @Override @WorkerThread void enqueueSync(); @Override SynchronousWorkContinuation synchronous(); @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP) boolean hasCycles(); @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP) static Set<String> prerequisitesFor(WorkContinuationImpl continuation);  }### Answer:
@Test public void testContinuation_join() { WorkContinuationImpl first = new WorkContinuationImpl(mWorkManagerImpl, createTestWorkerList()); WorkContinuationImpl second = new WorkContinuationImpl(mWorkManagerImpl, createTestWorkerList()); WorkContinuationImpl dependent = (WorkContinuationImpl) WorkContinuation.combine(first, second); assertThat(dependent.getParents(), is(notNullValue())); assertThat(dependent.getParents(), containsInAnyOrder(first, second)); }