@Override
  public <T extends Pointered> @NotNull T targetAsType(final @NotNull Class<T> targetClass) {
    if (requireNonNull(targetClass, "targetClass").isInstance(this.target)) {
      return targetClass.cast(this.target);
    } else {
      throw this.newException("A target with type " + targetClass.getSimpleName() + " is required for this deserialization attempt");
    }
  }
Carries needed context for minimessage around, ranging from debug info to the
configured minimessage instance.

@since 4.10.0
text-minimessage/src/main/java/net/kyori/adventure/text/minimessage/ContextImpl.java