### Question:
LevelRenderer extends AbstractCategoryItemRenderer implements Cloneable, PublicCloneable, Serializable { @Override public int hashCode() { int hash = super.hashCode(); hash = HashUtils.hashCode(hash, this.itemMargin); hash = HashUtils.hashCode(hash, this.maxItemWidth); return hash; } LevelRenderer(); double getItemMargin(); void setItemMargin(double percent); double getMaximumItemWidth(); void setMaximumItemWidth(double percent); @Override CategoryItemRendererState initialise(Graphics2D g2,
            Rectangle2D dataArea, CategoryPlot plot, int rendererIndex,
            PlotRenderingInfo info); @Override void drawItem(Graphics2D g2, CategoryItemRendererState state,
            Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis,
            ValueAxis rangeAxis, CategoryDataset dataset, int row, int column,
            int pass); @Override double getItemMiddle(Comparable rowKey, Comparable columnKey,
            CategoryDataset dataset, CategoryAxis axis, Rectangle2D area,
            RectangleEdge edge); @Override boolean equals(Object obj); @Override int hashCode(); static final double DEFAULT_ITEM_MARGIN; }### Answer:
@Test public void testHashcode() { LevelRenderer r1 = new LevelRenderer(); LevelRenderer r2 = new LevelRenderer(); assertEquals(r1, r2); int h1 = r1.hashCode(); int h2 = r2.hashCode(); assertEquals(h1, h2); }