public <N extends Node> CompletableFuture<List<NodeEntry<UUID, N>>> searchUserNodes(ConstraintNodeMatcher<N> constraint) {
        return future(() -> {
            List<NodeEntry<UUID, N>> result = this.implementation.searchUserNodes(constraint);
            result.removeIf(entry -> entry.getNode().hasExpired());
            return ImmutableList.copyOf(result);
        });
    }
Provides a {@link CompletableFuture} based API for interacting with a {@link StorageImplementation}.
common/src/main/java/me/lucko/luckperms/common/storage/Storage.java