@Override
  @SuppressWarnings("unchecked")
  public @NotNull B mergeStyle(final @NotNull Component that, final @NotNull Set<Style.Merge> merges) {
    final Style thatStyle = requireNonNull(that, "that").style();
    if (thatStyle.isEmpty() && merges.isEmpty()) return (B) this;
    this.styleBuilder().merge(thatStyle, merges);
    return (B) this;
  }
An abstract implementation of a component builder.

@param <C> the component type
@param <B> the builder type
api/src/main/java/net/kyori/adventure/text/AbstractComponentBuilder.java