Bug 255229 [Viewers] [3.5] NPE in ColumnViewerToolTipSupport
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ViewerRow.java
* 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;
		result = prime * result
				+ ((getItem() == null) ? 0 : getItem().hashCode());
		return result;
	}