Program: 36436
Project: 36436
Buggy source:
/** 
 * Adds a   {@code PropertyChangeListener} to the list of listeners for thespecific property. The following properties are currently supported: <p> </p> <table border=1 summary="SystemTray properties"> <tr> <th>Property</th> <th>Description</th> </tr> <tr> <td> {@code trayIcons}</td> <td>The   {@code SystemTray}'s array of   {@code TrayIcon} objects.The array is accessed via the  {@link #getTrayIcons} method.<br>This property is changed when a tray icon is added to (or removed from) the system tray.<br> For example, this property is changed when the system tray becomes unavailable on the desktop<br> and the tray icons are automatically removed.</td> </tr> <tr> <td> {@code systemTray}</td> <td>This property contains   {@code SystemTray} instance when the system trayis available or <code>null</code> otherwise.<br> This property is changed when the system tray becomes available or unavailable on the desktop.<br> The property is accessed by the  {@link #getSystemTray} method.</td></tr> </table> <p> </p> The  {@code listener} listens to property changes only in this context.<p> If  {@code listener} is {@code null}, no exception is thrown and no action is performed.
 * @param propertyName the specified property
 * @param listener the property change listener to be added
 * @see #removePropertyChangeListener
 * @see #getPropertyChangeListeners
 */
public synchronized void addPropertyChangeListener(String propertyName,PropertyChangeListener listener){
  if (listener == null) {
    return;
  }
  getCurrentChangeSupport().addPropertyChangeListener(propertyName,listener);
}

Fixed version (ground truth):
/** 
 * Adds a   {@code PropertyChangeListener} to the list of listeners for thespecific property. The following properties are currently supported: <p> <table border=1 summary="SystemTray properties"> <tr> <th>Property</th> <th>Description</th> </tr> <tr> <td> {@code trayIcons}</td> <td>The   {@code SystemTray}'s array of   {@code TrayIcon} objects.The array is accessed via the  {@link #getTrayIcons} method.<br>This property is changed when a tray icon is added to (or removed from) the system tray.<br> For example, this property is changed when the system tray becomes unavailable on the desktop<br> and the tray icons are automatically removed.</td> </tr> <tr> <td> {@code systemTray}</td> <td>This property contains   {@code SystemTray} instance when the system trayis available or <code>null</code> otherwise.<br> This property is changed when the system tray becomes available or unavailable on the desktop.<br> The property is accessed by the  {@link #getSystemTray} method.</td></tr> </table> <p> The  {@code listener} listens to property changes only in this context.<p> If  {@code listener} is {@code null}, no exception is thrown and no action is performed.
 * @param propertyName the specified property
 * @param listener the property change listener to be added
 * @see #removePropertyChangeListener
 * @see #getPropertyChangeListeners
 */
public synchronized void addPropertyChangeListener(String propertyName,PropertyChangeListener listener){
  if (listener == null) {
    return;
  }
  getCurrentChangeSupport().addPropertyChangeListener(propertyName,listener);
}