Bug 305703 [Viewers][CommonNavigator] remembered contributions can leak when using filters
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/StructuredViewer.java
if (data != element) {
			if (data != null) {
				disassociate(item);
			}
			item.setData(element);
			mapElement(element, item);
		} else {
			
			
			
			mapElement(element, item);
		}
		if (associateListener != null)
			associateListener.associate(element, item);
	}
	
	/**
	 * Disassociates the given SWT item from its corresponding element. Sets the
	 * item's data to <code>null</code> and removes the element from the
	 * element map (if enabled).
	 * 
	 * @param item
	 *            the widget
	 */
	protected void disassociate(Item item) {
		if (associateListener != null)
			associateListener.disassociate(item);
		Object element = item.getData();
		Assert.isNotNull(element);