void (@NotNull PsiClass aClass) { if (aClass.isInterface() || aClass.isAnnotationType() || aClass.isRecord() || aClass instanceof PsiTypeParameter || !SerializationUtils.isSerializable(aClass) || isIgnoredSubclass(aClass)) { return; } if (ignoreAnonymousInnerClasses && aClass instanceof PsiAnonymousClass) { return; } if (!hasSerializableState(aClass)) { // doesn't matter, class has no state anyway. return; } final boolean serializable = !hasWriteObjectMethodWhichAlwaysThrowsException(aClass); final boolean deserializable = !hasReadObjectMethodWhichAlwaysThrowsException(aClass); if (!serializable && !deserializable) { return; } registerClassError(aClass, Boolean.valueOf(serializable), Boolean.valueOf(deserializable), aClass); }