@Override
 public boolean equals(Object obj) {
   if (obj instanceof FGERoundRectangle) {
     FGERoundRectangle p = (FGERoundRectangle) obj;
     if (getIsFilled() != p.getIsFilled()) {
       return false;
     }
     return ((Math.abs(getX() - p.getX()) <= EPSILON)
         && (Math.abs(getY() - p.getY()) <= EPSILON)
         && (Math.abs(getWidth() - p.getWidth()) <= EPSILON)
         && (Math.abs(getHeight() - p.getHeight()) <= EPSILON)
         && (Math.abs(getArcWidth() - p.getArcWidth()) <= EPSILON)
         && (Math.abs(getArcHeight() - p.getArcHeight()) <= EPSILON));
   }
   return super.equals(obj);
 }