class TapeDriveWorkerManager implements TapeDriveOrderConsumer, TapeDriveOrderProducer {

    @Override
    public Optional<? extends ReadWriteOrder> consume(TapeDriveWorker driveWorker) throws QueueException {
        return produce(driveWorker);
    }

    public  TapeDriveWorkerManager(
        QueueRepository readWriteQueue,
        ArchiveReferentialRepository archiveReferentialRepository,
        ReadRequestReferentialRepository readRequestReferentialRepository,
        TapeLibraryPool tapeLibraryPool,
        Map<Integer, TapeCatalog> driveTape, String inputTarPath, boolean forceOverrideNonEmptyCartridges,
        ArchiveOutputRetentionPolicy archiveOutputRetentionPolicy);

}