### Question:
Crosshair implements Cloneable, PublicCloneable, Serializable { @Override public int hashCode() { int hash = 7; hash = HashUtilities.hashCode(hash, this.visible); hash = HashUtilities.hashCode(hash, this.value); hash = HashUtilities.hashCode(hash, this.paint); hash = HashUtilities.hashCode(hash, this.stroke); hash = HashUtilities.hashCode(hash, this.labelVisible); hash = HashUtilities.hashCode(hash, this.labelAnchor); hash = HashUtilities.hashCode(hash, this.labelGenerator); hash = HashUtilities.hashCode(hash, this.labelXOffset); hash = HashUtilities.hashCode(hash, this.labelYOffset); hash = HashUtilities.hashCode(hash, this.labelFont); hash = HashUtilities.hashCode(hash, this.labelPaint); hash = HashUtilities.hashCode(hash, this.labelBackgroundPaint); hash = HashUtilities.hashCode(hash, this.labelOutlineVisible); hash = HashUtilities.hashCode(hash, this.labelOutlineStroke); hash = HashUtilities.hashCode(hash, this.labelOutlinePaint); return hash; } Crosshair();  Crosshair(double value);  Crosshair(double value, Paint paint, Stroke stroke); boolean isVisible(); void setVisible(boolean visible); double getValue(); void setValue(double value); Paint getPaint(); void setPaint(Paint paint); Stroke getStroke(); void setStroke(Stroke stroke); boolean isLabelVisible(); void setLabelVisible(boolean visible); CrosshairLabelGenerator getLabelGenerator(); void setLabelGenerator(CrosshairLabelGenerator generator); RectangleAnchor getLabelAnchor(); void setLabelAnchor(RectangleAnchor anchor); double getLabelXOffset(); void setLabelXOffset(double offset); double getLabelYOffset(); void setLabelYOffset(double offset); Font getLabelFont(); void setLabelFont(Font font); Paint getLabelPaint(); void setLabelPaint(Paint paint); Paint getLabelBackgroundPaint(); void setLabelBackgroundPaint(Paint paint); boolean isLabelOutlineVisible(); void setLabelOutlineVisible(boolean visible); Paint getLabelOutlinePaint(); void setLabelOutlinePaint(Paint paint); Stroke getLabelOutlineStroke(); void setLabelOutlineStroke(Stroke stroke); @Override boolean equals(Object obj); @Override int hashCode(); @Override Object clone(); void addPropertyChangeListener(PropertyChangeListener l); void removePropertyChangeListener(PropertyChangeListener l);  }### Answer:
@Test public void testHashCode() { Crosshair c1 = new Crosshair(1.0); Crosshair c2 = new Crosshair(1.0); assertEquals(c1, c2); assertEquals(c1.hashCode(), c2.hashCode()); }