@Override
  public Icon getIcon(int flags) {
    PyPsiUtils.assertValid(this);
    final Property property = getProperty();
    if (property != null) {
      if (property.getGetter().valueOrNull() == this) {
        return PythonPsiApiIcons.PropertyGetter;
      }
      if (property.getSetter().valueOrNull() == this) {
        return PythonPsiApiIcons.PropertySetter;
      }
      if (property.getDeleter().valueOrNull() == this) {
        return PythonPsiApiIcons.PropertyDeleter;
      }
      return PlatformIcons.PROPERTY_ICON;
    }
    IconManager iconManager = IconManager.getInstance();
    if (getContainingClass() != null) {
      return iconManager.getPlatformIcon(com.intellij.ui.PlatformIcons.Method);
    }
    return iconManager.getPlatformIcon(com.intellij.ui.PlatformIcons.Function);
  }
@Override
  public Icon getIcon(int flags)