@Override
  public @Nullable PsiElement restoreElement(@NotNull SmartPointerManagerImpl manager) {
    long typeAndId = myStubElementTypeAndId;
    int stubId = (int)typeAndId;
    if (stubId != -1) {
      PsiFile file = restoreFile(manager);
      if (!(file instanceof PsiFileWithStubSupport)) return null;
      short index = (short)(typeAndId >> 32);
      IStubElementType<?,?> stubElementType = (IStubElementType<?,?>)IElementType.find(index);
      return PsiAnchor.restoreFromStubIndex((PsiFileWithStubSupport)file, stubId, stubElementType, false);
    }

    return super.restoreElement(manager);
  }
@Override
  public @Nullable PsiElement restoreElement(@NotNull SmartPointerManagerImpl manager)