PsiClassType () { return CachedValuesManager.getCachedValue(this, () -> { PsiClassType[] refs = getExtendsList().getReferencedTypes(); if (refs.length == 0) { refs = getImplementsList().getReferencedTypes(); } return CachedValueProvider.Result.create( refs.length == 0 ? PsiType.getJavaLangObject(getManager(), getResolveScope()) : refs[0], this); }); }