PsiType () { 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()); }