Bug 186025 [Viewers] Virtual Manager should be cleared when Viewer is disposed
Got a nasty memory leak where the Workbench would keep my disposed viewer in a field since it was registered as a selection provider. In StructuredViewer#handleDisposed(), the input is set to null, however this does not clear a possible virtual manager being used from the Table Viewer. The Table Viewer should clear the cache of the virtual manager on handleDispose to make sure, no reference to any model object is retained.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/AbstractTableViewer.java
/**
	 * Returns the column at the given, zero-relative index in the receiver.
	 * Throws an exception if the index is out of range. Columns are returned in
	 * the order that they were created. If no TableColumns were created by the
	 * programmer, this method will throw ERROR_INVALID_RANGE despite the fact
	 * that a single column of data may be visible in the table. This occurs
	 * when the programmer uses the table like a list, adding items but never
	 * creating a column.
	 *
	 * @param index
	 *            the index of the column to return
	 * @return the column at the given index
	 * @exception IllegalArgumentException -
	 *                if the index is not between 0 and the number of elements
	 *                in the list minus 1 (inclusive)
	 *
	 * @since 3.3
	 */
	protected abstract Widget doGetColumn(int index);
	/**
	 * Returns the item at the given, zero-relative index in the receiver.
	 * Throws an exception if the index is out of range.
	 *
	 * @param index
	 *            the index of the item to return
	 * @return the item at the given index
	 * @exception IllegalArgumentException -
	 *                if the index is not between 0 and the number of elements
	 *                in the list minus 1 (inclusive)
	 *