@Override
  public @NotNull HoverEvent<V> asHoverEvent(final @NotNull UnaryOperator<V> op) {
    if (op == UnaryOperator.<V>identity()) return this; // nothing to do, can return ourself
    return new HoverEvent<>(this.action, op.apply(this.value));
  }
Returns a hover event with the value rendered using {@code renderer} when possible.

@param renderer the renderer
@param context the render context
@param <C> the context type
@return a hover event
@since 4.0.0
api/src/main/java/net/kyori/adventure/text/event/HoverEvent.java