@Override
    public Path move(final Path source, final Path renamed, final TransferStatus status, final Delete.Callback callback, final ConnectionCallback connectionCallback) throws BackgroundException {
        final Path copy = proxy.copy(source, renamed, status, connectionCallback, new DisabledStreamListener());
        delete.delete(Collections.singletonMap(source, status), connectionCallback, callback);
        return copy;
    }
@Test
    public void testMove() throws Exception {
        final Path bucket = new Path("cyberduck-test-eu", EnumSet.of(Path.Type.directory, Path.Type.volume));
        final Path test = new GoogleStorageTouchFeature(session).touch(
                new Path(bucket, new AsciiRandomStringService().random(), EnumSet.of(Path.Type.file)), new TransferStatus().withMetadata(Collections.singletonMap("cyberduck", "set")));
        assertTrue(new GoogleStorageFindFeature(session).find(test));
        assertFalse(new GoogleStorageMetadataFeature(session).getMetadata(test).isEmpty());
        final Path renamed = new Path(bucket, new AsciiRandomStringService().random(), EnumSet.of(Path.Type.file));
        final Path moved = new GoogleStorageMoveFeature(session).move(test, renamed, new TransferStatus(), new Delete.DisabledCallback(), new DisabledConnectionCallback());
        assertFalse(new GoogleStorageFindFeature(session).find(test));
        assertTrue(new GoogleStorageFindFeature(session).find(renamed));
        final PathAttributes targetAttr = new GoogleStorageAttributesFinderFeature(session).find(renamed);
        assertEquals(moved.attributes(), targetAttr);
        assertEquals(Comparison.equal, session.getHost().getProtocol().getFeature(ComparisonService.class).compare(Path.Type.file, moved.attributes(), targetAttr));
        assertEquals(1, new GoogleStorageObjectListService(session).list(bucket, new DisabledListProgressListener())
                .filter(new SearchFilter(renamed.getName())).size());
        final Map<String, String> metadata = new GoogleStorageMetadataFeature(session).getMetadata(renamed);
        assertFalse(metadata.isEmpty());
        assertEquals("set", metadata.get("cyberduck"));
        new GoogleStorageDeleteFeature(session).delete(Collections.singletonList(renamed), new DisabledLoginCallback(), new Delete.DisabledCallback());
    }