### Question:
DownloadContext { public void stop() { if (started) OkDownload.with().downloadDispatcher().cancel(tasks); started = false; } DownloadContext(@NonNull DownloadTask[] tasks,
                    @Nullable DownloadContextListener contextListener,
                    @NonNull QueueSet set,
                    @NonNull Handler uiHandler);   DownloadContext(@NonNull DownloadTask[] tasks,
                    @Nullable DownloadContextListener contextListener,
                    @NonNull QueueSet set); boolean isStarted(); @SuppressFBWarnings(value = "EI", justification = "user must know change this array will effect internal job") DownloadTask[] getTasks(); void startOnSerial(DownloadListener listener); void startOnParallel(DownloadListener listener); void start(@Nullable final DownloadListener listener, boolean isSerial); AlterContext alter(); void stop(); Builder toBuilder();  }### Answer:
@Test public void stop() { context.started = true; context.stop(); assertThat(context.isStarted()).isFalse(); verify(OkDownload.with().downloadDispatcher()).cancel(tasks); }