### Question:
DialBackground extends AbstractDialLayer implements DialLayer,
        Cloneable, PublicCloneable, Serializable { @Override public boolean equals(Object obj) { if (obj == this) { return true; } if (!(obj instanceof DialBackground)) { return false; } DialBackground that = (DialBackground) obj; if (!PaintUtilities.equal(this.paint, that.paint)) { return false; } if (!this.gradientPaintTransformer.equals( that.gradientPaintTransformer)) { return false; } return super.equals(obj); } DialBackground();  DialBackground(Paint paint); Paint getPaint(); void setPaint(Paint paint); GradientPaintTransformer getGradientPaintTransformer(); void setGradientPaintTransformer(GradientPaintTransformer t); @Override boolean isClippedToWindow(); @Override void draw(Graphics2D g2, DialPlot plot, Rectangle2D frame,
            Rectangle2D view); @Override boolean equals(Object obj); @Override int hashCode(); @Override Object clone();  }### Answer:
@Test public void testEquals() { DialBackground b1 = new DialBackground(); DialBackground b2 = new DialBackground(); assertEquals(b1, b2); b1.setPaint(new GradientPaint(1.0f, 2.0f, Color.RED, 3.0f, 4.0f, Color.yellow)); assertFalse(b1.equals(b2)); b2.setPaint(new GradientPaint(1.0f, 2.0f, Color.RED, 3.0f, 4.0f, Color.yellow)); assertEquals(b1, b2); b1.setGradientPaintTransformer(new StandardGradientPaintTransformer( GradientPaintTransformType.CENTER_VERTICAL)); assertFalse(b1.equals(b2)); b2.setGradientPaintTransformer(new StandardGradientPaintTransformer( GradientPaintTransformType.CENTER_VERTICAL)); assertEquals(b1, b2); b1.setVisible(false); assertFalse(b1.equals(b2)); b2.setVisible(false); assertEquals(b1, b2); }