@NotNull
  private static Collection<PyFunction> getAllFunctions(@NotNull final Property property) {
    final Collection<PyFunction> result = new ArrayList<>(3);
    final PyCallable getter = property.getGetter().valueOrNull();
    final PyCallable setter = property.getSetter().valueOrNull();
    final PyCallable deleter = property.getDeleter().valueOrNull();

    if (getter instanceof PyFunction) {
      result.add((PyFunction)getter);
    }
    if (setter instanceof PyFunction) {
      result.add((PyFunction)setter);
    }
    if (deleter instanceof PyFunction) {
      result.add((PyFunction)deleter);
    }
    return result;
  }
@NotNull
  private static Collection<PyFunction> getAllFunctions(@NotNull final Property property)