@ApiStatus.ScheduledForRemoval(inVersion = "5.0.0")
  @Deprecated
  default void detectCycle(final @NotNull Component that) {
    if (that.contains(this)) {
      throw new IllegalStateException("Component cycle detected between " + this + " and " + that);
    }
  }
Prevents a cycle between this component and the provided component.

@param that the other component
@since 4.0.0
@deprecated for removal since 4.7.0, with no replacement - this method is not necessary due to the fact {@code Component}s are immutable
api/src/main/java/net/kyori/adventure/text/Component.java