if (FileUtils.isLocked(path)) {
ScheduledExecutorService timeoutScheduler = Executors.newSingleThreadScheduledExecutor();
AtomicReference<ScheduledFuture<?>> lockScheduledFutureOptional = new AtomicReference<>();
ScheduledFuture<?> lockScheduledFuture = timeoutScheduler.scheduleAtFixedRate(() -> {
if (FileUtils.isLocked(path)) {
baseLogger().info("The file \"{}\" is still locked, waiting for {} {}.", path, checkLockDuration.period, checkLockDuration.unit.toString().toLowerCase(Locale.ENGLISH));