private static void registerImplementsExtendsFix(@NotNull HighlightInfo.Builder builder, @NotNull PsiMethodCallExpression methodCall,
                                                   @NotNull PsiMethod resolvedMethod) {
    if (!JavaPsiConstructorUtil.isSuperConstructorCall(methodCall)) return;
    if (!resolvedMethod.isConstructor() || !resolvedMethod.getParameterList().isEmpty()) return;
    PsiClass psiClass = resolvedMethod.getContainingClass();
    if (psiClass == null || !CommonClassNames.JAVA_LANG_OBJECT.equals(psiClass.getQualifiedName())) return;
    PsiClass containingClass = PsiUtil.getContainingClass(methodCall);
    if (containingClass == null) return;
    PsiReferenceList extendsList = containingClass.getExtendsList();
    if (extendsList != null && extendsList.getReferenceElements().length > 0) return;
    PsiReferenceList implementsList = containingClass.getImplementsList();
    if (implementsList == null) return;
    for (PsiClassType type : implementsList.getReferencedTypes()) {
      PsiClass superInterface = type.resolve();
      if (superInterface != null && !superInterface.isInterface()) {
        for (PsiMethod constructor : superInterface.getConstructors()) {
          if (!constructor.getParameterList().isEmpty()) {
            builder.registerFix(QuickFixFactory.getInstance().createChangeExtendsToImplementsFix(containingClass, type), null, null, null, null);
          }
        }
      }
    }
  }
private static void registerImplementsExtendsFix(@NotNull HighlightInfo.Builder builder, @NotNull PsiMethodCallExpression methodCall,
                                                   @NotNull PsiMethod resolvedMethod)