@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 testMoveWithServerSideEncryptionBucketPolicy() throws Exception {
        final Path container = new Path("cyberduck-test-eu", EnumSet.of(Path.Type.directory, Path.Type.volume));
        final Path test = new Path(container, new AsciiRandomStringService().random(), EnumSet.of(Path.Type.file));
        final GoogleStorageTouchFeature touch = new GoogleStorageTouchFeature(session);
        final TransferStatus status = new TransferStatus();
        status.setEncryption(new Encryption.Algorithm("AES256", null));
        touch.touch(test, status);
        assertTrue(new GoogleStorageFindFeature(session).find(test));
        final Path renamed = new Path(container, new AsciiRandomStringService().random(), EnumSet.of(Path.Type.file));
        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));
        new GoogleStorageDeleteFeature(session).delete(Collections.singletonList(renamed), new DisabledLoginCallback(), new Delete.DisabledCallback());
    }