private static void doFirePropertyChange(@NotNull PropertyChangeEvent event,
                                           @NotNull FList<PropertyChangeListener> listeners) {
    for (PropertyChangeListener listener : listeners.size() == 1 ? listeners : ContainerUtil.reverse(listeners)) {
      if (listener instanceof PropertyChangeListenerProxy p &&
          !event.getPropertyName().equals(p.getPropertyName())) {
        continue;
      }
      listener.propertyChange(event);
    }
  }
private static void doFirePropertyChange(@NotNull PropertyChangeEvent event,
                                           @NotNull FList<PropertyChangeListener> listeners)