@Override
  public @NotNull PsiType getType() {
    PsiRecordComponentStub stub = getStub();
    if (stub != null) {
      PsiType type = dereference(myCachedType);
      if (type == null) {
        type = JavaSharedImplUtil.createTypeFromStub(this, stub.getType());
        myCachedType = new SoftReference<>(type);
      }
      return type;
    }

    myCachedType = null;

    PsiTypeElement typeElement = getTypeElement();
    return JavaSharedImplUtil.getType(typeElement, getNameIdentifier());
  }
@Override
  public @NotNull PsiType getType()