Bug 15844 [Exception Handling] SelectionChange events and NPE
Build 20020508 Due to new global actions there are now more objects listening to selection changes send out by a JFace viewer. We now had the case that one of the listener generated a NPE. As a result all listeners registered after that one didn't receive the selection change event. StructuredViewers should be more fault tolorant to exceptions when informing listeners.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/Viewer.java
*/
	private ListenerList helpListeners = new ListenerList(1);
	/**
	 * The names of this viewer's properties.
	 * <code>null</code> if this viewer has no properties.
	 *
	 * @see #setData
	 */
	private String[] keys;
	/**
	 * The values of this viewer's properties.
	 * <code>null</code> if this viewer has no properties.
	 * This array parallels the value of the <code>keys</code> field.
	 *
	 * @see #setData
	 */
	private Object[] values;
	/**
	 * Remembers whether we've hooked the help listener on the control or not.
	 */
	private boolean helpHooked = false;
	/**
	 * Help listener for the control, created lazily when client's first help listener is added.
	 */
	private HelpListener helpListener = null;
	
	/**
	 * Unique key for associating element data with widgets.
	 * @see Widget#setData(String, Object)
	 */