### Question:
XYAreaRenderer extends AbstractXYItemRenderer implements XYItemRenderer, PublicCloneable { @Override public int hashCode() { int result = super.hashCode(); result = HashUtils.hashCode(result, this.plotArea); result = HashUtils.hashCode(result, this.plotLines); result = HashUtils.hashCode(result, this.plotShapes); result = HashUtils.hashCode(result, this.useFillPaint); return result; } XYAreaRenderer();  XYAreaRenderer(int type);  XYAreaRenderer(int type, XYToolTipGenerator toolTipGenerator,
                          XYURLGenerator urlGenerator); boolean getPlotShapes(); boolean getPlotLines(); boolean getPlotArea(); boolean isOutline(); void setOutline(boolean show); Shape getLegendArea(); void setLegendArea(Shape area); boolean getUseFillPaint(); void setUseFillPaint(boolean use); GradientPaintTransformer getGradientTransformer(); void setGradientTransformer(GradientPaintTransformer transformer); @Override XYItemRendererState initialise(Graphics2D g2, Rectangle2D dataArea,
            XYPlot plot, XYDataset data, PlotRenderingInfo info); @Override LegendItem getLegendItem(int datasetIndex, int series); @Override void drawItem(Graphics2D g2, XYItemRendererState state,
            Rectangle2D dataArea, PlotRenderingInfo info, XYPlot plot,
            ValueAxis domainAxis, ValueAxis rangeAxis, XYDataset dataset,
            int series, int item, CrosshairState crosshairState, int pass); @Override Object clone(); @Override boolean equals(Object obj); @Override int hashCode(); static final int SHAPES; static final int LINES; static final int SHAPES_AND_LINES; static final int AREA; static final int AREA_AND_SHAPES; }### Answer:
@Test public void testHashcode() { XYAreaRenderer r1 = new XYAreaRenderer(); XYAreaRenderer r2 = new XYAreaRenderer(); assertEquals(r1, r2); int h1 = r1.hashCode(); int h2 = r2.hashCode(); assertEquals(h1, h2); r2.setUseFillPaint(true); assertFalse(r1.hashCode() == r2.hashCode()); }