Bug 236628 [Viewers] [JFace] Excessive Memory Usage by Project Explorer because of styles
Build ID: I20080516-1333 Steps To Reproduce: Project Explorer creates duplicate identical strings for every entry in it and wastes few Megabytes of memory depending on the scenario. In the update method of NavigatorDecoratingLabelProvider extending DelegatingStyledCellLabelProvider the call to cell.setStyleRanges(newStyleRanges) results in duplicate strings for the same column. The duplicate strings are created in ViewerRow.setStyleRanges public void setStyleRanges(int columnIndex, StyleRange[] styleRanges) { getItem().setData(KEY_TEXT_LAYOUT + columnIndex, styleRanges); } More information:
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ViewerRow.java
* @return {@link Control}
	 */
	public abstract Control getControl();
	/**
	 * Returns a neighboring row, or <code>null</code> if no neighbor exists in
	 * the given direction. If <code>sameLevel</code> is <code>true</code>, only
	 * sibling rows (under the same parent) will be considered.
	 * 
	 * @param direction
	 *            the direction {@link #BELOW} or {@link #ABOVE}
	 * 
	 * @param sameLevel
	 *            if <code>true</code>, search only within sibling rows
	 * @return the row above/below, or <code>null</code> if not found
	 */
	public abstract ViewerRow getNeighbor(int direction, boolean sameLevel);
	/**
	 * The tree path used to identify an element by the unique path
	 * 
	 * @return the path
	 */
	public abstract TreePath getTreePath();
	public abstract Object clone();
	/**
	 * @return the model element
	 */
	public abstract Object getElement();
	public int hashCode() {
		final int prime = 31;
		int result = 1;