### Question:
CategoryPointerAnnotation extends CategoryTextAnnotation implements Cloneable, PublicCloneable, Serializable { @Override public int hashCode() { int result = 193; long temp = Double.doubleToLongBits(this.angle); result = 37 * result + (int) (temp ^ (temp >>> 32)); temp = Double.doubleToLongBits(this.tipRadius); result = 37 * result + (int) (temp ^ (temp >>> 32)); temp = Double.doubleToLongBits(this.baseRadius); result = 37 * result + (int) (temp ^ (temp >>> 32)); temp = Double.doubleToLongBits(this.arrowLength); result = 37 * result + (int) (temp ^ (temp >>> 32)); temp = Double.doubleToLongBits(this.arrowWidth); result = 37 * result + (int) (temp ^ (temp >>> 32)); result = 37 * result + HashUtilities.hashCodeForPaint(this.arrowPaint); result = 37 * result + this.arrowStroke.hashCode(); temp = Double.doubleToLongBits(this.labelOffset); result = 37 * result + (int) (temp ^ (temp >>> 32)); return result; } CategoryPointerAnnotation(String label, Comparable key, double value,
            double angle); double getAngle(); void setAngle(double angle); double getTipRadius(); void setTipRadius(double radius); double getBaseRadius(); void setBaseRadius(double radius); double getLabelOffset(); void setLabelOffset(double offset); double getArrowLength(); void setArrowLength(double length); double getArrowWidth(); void setArrowWidth(double width); Stroke getArrowStroke(); void setArrowStroke(Stroke stroke); Paint getArrowPaint(); void setArrowPaint(Paint paint); @Override void draw(Graphics2D g2, CategoryPlot plot, Rectangle2D dataArea,
            CategoryAxis domainAxis, ValueAxis rangeAxis); @Override boolean equals(Object obj); @Override int hashCode(); @Override Object clone(); static final double DEFAULT_TIP_RADIUS; static final double DEFAULT_BASE_RADIUS; static final double DEFAULT_LABEL_OFFSET; static final double DEFAULT_ARROW_LENGTH; static final double DEFAULT_ARROW_WIDTH; }### Answer:
@Test public void testHashCode() { CategoryPointerAnnotation a1 = new CategoryPointerAnnotation("Label", "A", 20.0, Math.PI); CategoryPointerAnnotation a2 = new CategoryPointerAnnotation("Label", "A", 20.0, Math.PI); assertEquals(a1, a2); int h1 = a1.hashCode(); int h2 = a2.hashCode(); assertEquals(h1, h2); }