Bug 174701 [Viewers] ViewerRow should be reused instead of connected to the Item
Currently we create a ViewerRow ver every Item we create this can degrade performance, we should cache the row and reuse it
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/TreeViewerRow.java
public void setForeground(int columnIndex, Color color) {
		item.setForeground(columnIndex, color);
	}
	/* (non-Javadoc)
	 * @see org.eclipse.jface.viewers.ViewerRow#setImage(int, org.eclipse.swt.graphics.Image)
	 */
	public void setImage(int columnIndex, Image image) {
		item.setImage(columnIndex,image);
	}
	/* (non-Javadoc)
	 * @see org.eclipse.jface.viewers.ViewerRow#setText(int, java.lang.String)
	 */
	public void setText(int columnIndex, String text) {
		item.setText(columnIndex, text == null ? "" : text); 
	}
	
	/* (non-Javadoc)
	 * @see org.eclipse.jface.viewers.ViewerRow#getControl()
	 */
	public Control getControl() {
		return item.getParent();
	}
	
	public ViewerRow getNeighbor(int direction, boolean sameLevel) {
		if( direction == ViewerRow.ABOVE ) {
			return getRowAbove(sameLevel);
		} else if( direction == ViewerRow.BELOW ) {
			return getRowBelow(sameLevel);
		} else {
			throw new IllegalArgumentException("Illegal value of direction argument.");