@Override
  @SuppressWarnings("unchecked")
  default @NotNull C append(final @NotNull ComponentLike like) {
    return (C) Component.super.append(like);
  }
Some magic to change return types.

@param <C> the component type
@since 4.0.0
api/src/main/java/net/kyori/adventure/text/ScopedComponent.java