private static boolean isSuitableInstanceMethod(@Nullable PsiElement element) {
    final PyFunction function = as(element, PyFunction.class);
    if (function == null || function.getContainingClass() == null) {
      return false;
    }
    final String funcName = function.getName();
    if (funcName == null || PyUtilCore.isSpecialName(funcName)) {
      return false;
    }
    final TypeEvalContext typeEvalContext = TypeEvalContext.userInitiated(function.getProject(), function.getContainingFile());
    if (PySuperMethodsSearch.search(function, typeEvalContext).findFirst() != null) return false;
    if (PyOverridingMethodsSearch.search(function, true).findFirst() != null) return false;
    if (function.getDecoratorList() != null || function.getModifier() != null) return false;
    if (function.getContainingClass().findPropertyByCallable(function) != null) return false;
    return true;
  }
private static boolean isSuitableInstanceMethod(@Nullable PsiElement element)