class MultiplexedStreamTransferThread implements Callable<StorageBulkPutResult> {

    @Override
    public StorageBulkPutResult call() throws Exception {

        try {
            return storeInOffer();
        } catch (Exception ex) {
            LOGGER.error("An error occurred during bulk transfer to offer " + this.storageOffer.getId(), ex);
            throw ex;
        } finally {
            IOUtils.closeQuietly(this.inputStream);
        }
    }

    public  MultiplexedStreamTransferThread(int tenantId,
        DataCategory dataCategory, List<String> objectIds, InputStream inputStream,
        long size, Driver driver, StorageOffer storageOffer, DigestType digestType);

}