@NotNull
  private static RatedResolveResult changePropertyMethodToSameNameGetter(@NotNull RatedResolveResult resolveResult, @NotNull String name) {
    final PsiElement element = resolveResult.getElement();
    if (element instanceof PyFunction) {
      final Property property = ((PyFunction)element).getProperty();
      if (property != null) {
        final PyCallable getter = property.getGetter().valueOrNull();
        final PyCallable setter = property.getSetter().valueOrNull();
        final PyCallable deleter = property.getDeleter().valueOrNull();

        if (getter != null && name.equals(getter.getName()) &&
            (setter == null || name.equals(setter.getName())) &&
            (deleter == null || name.equals(deleter.getName()))) {
          return resolveResult.replace(getter);
        }
      }
    }

    return resolveResult;
  }
@NotNull
  private static RatedResolveResult changePropertyMethodToSameNameGetter(@NotNull RatedResolveResult resolveResult, @NotNull String name)