@Experimental public interface ClusteredLock { CompletableFuture lock(); CompletableFuture tryLock(); CompletableFuture tryLock(long time, TimeUnit unit); CompletableFuture unlock(); CompletableFuture isLocked(); CompletableFuture isLockedByMe(); }