@Override
    public boolean equals(final @Nullable Object other) {
      if (this == other) return true;
      if (other == null || this.getClass() != other.getClass()) return false;
      final ShowItem that = (ShowItem) other;
      return this.item.equals(that.item) && this.count == that.count && Objects.equals(this.nbt, that.nbt) && Objects.equals(this.dataComponents, that.dataComponents);
    }
Return an unmodifiable map of data components coerced to the target type.

<p>If there is no converter registered with the {@link DataComponentValueConverterRegistry} for the conversion of a value, a {@link IllegalArgumentException} will be thrown.</p>

@param targetType the expected target type
@param <V> the new data component value type
@return the unmodifiable map
@since 4.17.0
api/src/main/java/net/kyori/adventure/text/event/HoverEvent.java