default @NotNull Audience filterAudience(final @NotNull Predicate<? super Audience> filter) {
    return filter.test(this)
      ? this
      : empty();
  }
Filters this audience.

<p>The returned {@code Audience} may be the same, or a completely different one.</p>

<p>Container audiences such as {@link ForwardingAudience} may or may not have their own identity.
If they do, they <em>may</em> test themselves against the provided {@code filter} first, and if the test fails return an empty audience skipping any contained children.
If they do not, they <em>must not</em> test themselves against the filter, only testing their children.</p>

@param filter a filter that determines if an audience should be included
@return an audience providing a snapshot of all audiences that match the predicate when this method is invoked
@since 4.9.0
api/src/main/java/net/kyori/adventure/audience/Audience.java