### Question:
BinaryTransferSessionImpl implements BinaryTransferSession { @Override public URI transferVersion(PID binPid, URI sourceFileUri) { IngestSource source = sourceManager.getIngestSourceForUri(sourceFileUri); BinaryTransferClient client = getTransferClient(source); return client.transferVersion(binPid, sourceFileUri); } BinaryTransferSessionImpl(IngestSourceManager sourceManager, StorageLocation storageLocation); @Override void close(); @Override URI transfer(PID binPid, URI sourceFileUri); @Override URI transferReplaceExisting(PID binPid, URI sourceFileUri); @Override URI transferVersion(PID binPid, URI sourceFileUri); @Override URI transfer(PID binPid, InputStream sourceStream); @Override URI transferReplaceExisting(PID binPid, InputStream sourceStream); @Override URI transferVersion(PID binPid, InputStream sourceStream); @Override void delete(URI fileUri); @Override BinaryDetails getStoredBinaryDetails(PID binPid); @Override boolean isTransferred(PID binPid, URI sourceUri);  }### Answer:
@Test(expected = NotImplementedException.class) public void transferVersionFSToFS() throws Exception { when(ingestSource.getStorageType()).thenReturn(FILESYSTEM); when(storageLoc.getStorageType()).thenReturn(FILESYSTEM); Path sourceFile = createSourceFile(); try (BinaryTransferSessionImpl session = new BinaryTransferSessionImpl(sourceManager, storageLoc)) { session.transferVersion(binPid, sourceFile.toUri()); } }