boolean (@NotNull PsiAnonymousClass anonymousClass, boolean checkResolve) { PsiField[] fields = anonymousClass.getFields(); if (fields.length != 0 && (fields.length != 1 || !CommonClassNames.SERIAL_VERSION_UID_FIELD_NAME.equals(fields[0].getName()) || !fields[0].hasModifierProperty(PsiModifier.STATIC))) { return false; } if (anonymousClass.getInitializers().length != 0 || anonymousClass.getInnerClasses().length != 0 || anonymousClass.getMethods().length != 1) { return false; } PsiMethod method = anonymousClass.getMethods()[0]; if (method.hasModifierProperty(PsiModifier.SYNCHRONIZED)) { return false; } if (checkResolve) { for (PsiClassType type : method.getThrowsList().getReferencedTypes()) { if (type.resolve() == null) { return false; } } } return true; }