class XYLineAnnotation extends AbstractXYAnnotation implements Cloneable, PublicCloneable, Serializable {

    @Override
    public boolean equals(Object obj) {
        if (obj == this) {
            return true;
        }
        if (!super.equals(obj)) {
            return false;
        }
        if (!(obj instanceof XYLineAnnotation)) {
            return false;
        }
        XYLineAnnotation that = (XYLineAnnotation) obj;
        if (this.x1 != that.x1) {
            return false;
        }
        if (this.y1 != that.y1) {
            return false;
        }
        if (this.x2 != that.x2) {
            return false;
        }
        if (this.y2 != that.y2) {
            return false;
        }
        if (!PaintUtils.equal(this.paint, that.paint)) {
            return false;
        }
        if (!ObjectUtils.equal(this.stroke, that.stroke)) {
            return false;
        }
        // seems to be the same...
        return true;
    }

    public  XYLineAnnotation(double x1, double y1, double x2, double y2);
    public  XYLineAnnotation(double x1, double y1, double x2, double y2,
            Stroke stroke, Paint paint);

}