@Override
    public Path move(final Path file, final Path renamed, final TransferStatus status, final Delete.Callback callback, final ConnectionCallback connectionCallback) throws BackgroundException {
        if(new DefaultPathPredicate(containerService.getContainer(file)).test(containerService.getContainer(renamed))) {
            // Either copy complete file contents (small file) or copy manifest (large file)
            final Path rename = proxy.copy(file, renamed, new TransferStatus().withLength(file.attributes().getSize()), connectionCallback, new DisabledStreamListener());
            delete.delete(Collections.singletonMap(file, status), connectionCallback, callback, false);
            return rename;
        }
        else {
            final Path copy = new SwiftSegmentCopyService(session, regionService).copy(file, renamed, new TransferStatus().withLength(file.attributes().getSize()), connectionCallback, new DisabledStreamListener());
            delete.delete(Collections.singletonMap(file, status), connectionCallback, callback);
            return copy;
        }
    }
@Test(expected = NotfoundException.class)
    public void testMoveNotFound() throws Exception {
        final Path container = new Path("test.cyberduck.ch", EnumSet.of(Path.Type.directory, Path.Type.volume));
        container.attributes().setRegion("IAD");
        final Path test = new Path(container, UUID.randomUUID().toString(), EnumSet.of(Path.Type.file));
        test.attributes().setRegion("IAD");
        new SwiftMoveFeature(session).move(test, new Path(container, UUID.randomUUID().toString(), EnumSet.of(Path.Type.file)), new TransferStatus(), new Delete.DisabledCallback(), new DisabledConnectionCallback());
    }