### Question:
DefaultTransferManager extends Observable implements TransferManager { @Override public void addDownload(Download download) { logger.trace("download added: " + download.getSource() + " to " + download.getDestination()); transactions.add(download); history.add(download); }  @Override List<Transaction> getTransactions(); @Override void addDownload(Download download); @Override List<Transaction> getHistory(); @Override void cleanup(); @Override void addUpload(Upload upload); @Override void run(); void next();  }### Answer:
@Test public void downloadsAreNotStaged() throws Exception { download.stagingDelay = 2000L; download.source = BoxFileSystem.getRoot().resolve("wayne"); download.destination = tmpPath("wayne"); download.mtime = 1000L; download.type = CREATE; download.isDir = false; manager.addDownload(download); managerNext(); waitUntil(() -> download.getState() == FAILED, () -> download.getState().toString()); }