docs: @CheckReturnValue
    Context transitionToAfterTag() {
      Context.Builder builder = toBuilder();
      builder.withoutAttrContext();
      switch (elType) {
        case SCRIPT:
          builder
              .withState(HtmlContext.JS)
              .withSlashType(Context.JsFollowingSlash.REGEX)
              .withElType(Context.ElementType.NONE);
          break;
        case STYLE:
          builder.withState(HtmlContext.CSS).withElType(Context.ElementType.NONE);
          break;
        case TEXTAREA:
        case TITLE:
        case XMP:
          builder.withState(HtmlContext.HTML_RCDATA);
          break;
          // All normal or void tags fit here.
        case NORMAL:
        case BASE:
        case LINK_EXECUTABLE:
        case META_REFRESH:
        case IFRAME:
        case MEDIA:
          builder.withState(HtmlContext.HTML_PCDATA).withElType(Context.ElementType.NONE);
          break;
        case NONE:
          throw new IllegalStateException();
      }
      return builder.build();
    }