@Contract("-> fail")
  private void invalid() {
    ProgressIndicatorProvider.checkCanceled();

    StringBuilder builder = new StringBuilder();
    TreeElement element = this;
    while (element != null) {
      if (element != this) builder.append(" / ");
      builder.append(element.getClass().getName()).append(':').append(element.getElementType());
      element = element.getTreeParent();
    }

    throw new PsiInvalidElementAccessException(this, builder.toString());
  }
@Contract("-> fail")
  private void invalid()