@Override
  @SuppressWarnings("unchecked")
  public @NotNull B append(final @NotNull Iterable<? extends ComponentLike> components) {
    requireNonNull(components, "components");
    boolean prepared = false;
    for (final ComponentLike like : components) {
      final Component component = requireNonNull(like, "components[?]").asComponent();
      if (component != Component.empty()) {
        if (!prepared) {
          this.prepareChildren();
          prepared = true;
        }
        this.children.add(requireNonNull(component, "components[?]"));
      }
    }
    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