class WorkspaceTransferTask implements Supplier<Boolean> {

    @Override public Boolean get() {
        try {
            switch (task.getAction()) {
                case TRANSFER:
                    handlerIO
                        .transferInputStreamToWorkspace(task.getWorkspacePath(), task.getSourceFile(),
                            task.getFilePath(), false);
                    break;
                case UNZIP:
                    handlerIO.unzipInputStreamOnWorkspace(handlerIO.getContainerName(), task.getFolderName(),
                        task.getMediaType(), task.getSourceFile(), false);
                    break;
                default:
                    return Boolean.FALSE;
            }
            return Boolean.TRUE;
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

    public  WorkspaceTransferTask(HandlerIO handlerAsyncIO, WorkspaceQueue task);

}