@Override
  public @NotNull StubbedSpine getStubbedSpine() {
    return withGreenStubTreeOrAst(
      stubTree -> stubTree.getSpine(),
      ast -> {
        AstSpine astSpine = ast.getStubbedSpine();
        if (!myTrees.useSpineRefs()) {
          synchronized (myPsiLock) {
            updateTrees(myTrees.switchToSpineRefs(FileTrees.getAllSpinePsi(astSpine)));
          }
        }
        return astSpine;
      }
    );
  }
@Override
  public @NotNull StubbedSpine getStubbedSpine()