src/main/java/org/jfree/graphics2d/svg/SVGGraphics2D.java
@Override
    public void clip(Shape s) {
        if (s instanceof Line2D) {
            s = s.getBounds2D();
        }
        if (this.clip == null) {
            setClip(s);
            return;
        }
        Shape ts = this.transform.createTransformedShape(s);
        if (!ts.intersects(this.clip.getBounds2D())) {
            setClip(new Rectangle2D.Double());
        } else {
          Area a1 = new Area(ts);
          Area a2 = new Area(this.clip);
          a1.intersect(a2);
          this.clip = new Path2D.Double(a1);
        }
        this.clipRef = null;
    }
@Override
    public void clip(Shape s) {
        if (s instanceof Line2D) {
            s = s.getBounds2D();
        }
        if (this.clip == null) {
            setClip(s);
            return;
        }
        Shape ts = this.transform.createTransformedShape(s);
        if (!ts.intersects(this.clip.getBounds2D())) {
            setClip(new Rectangle2D.Double());
        } else {
          Area a1 = new Area(ts);
          Area a2 = new Area(this.clip);
          a1.intersect(a2);
          this.clip = new Path2D.Double(a1);
        }
        this.clipRef = null;
    }
@ Override public void clip ( Shape s ) { if ( s instanceof Line2D ) { s = s . getBounds2D ( ) ; } if ( this . clip == null ) { setClip ( s ) ; return ; } Shape ts = this . transform . createTransformedShape ( s ) ; if ( ! ts . intersects ( this . clip . getBounds2D ( ) ) ) { setClip ( new Rectangle2D . Double ( ) ) ; } else { Area a1 = new Area ( ts ) ; Area a2 = new Area ( this . clip ) ; a1 . intersect ( a2 ) ; this . clip = new Path2D . Double ( a1 ) ; } this . clipRef = null ; }
Clips to the intersection of the current clipping region and the
specified shape.

According to the Oracle API specification, this method will accept a
{@code null} argument, but there is an open bug report (since 2004)
that suggests this is wrong:
<p>
<a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6206189">
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6206189</a>

@param s  the clip shape ({@code null} not permitted).
Clips to the intersection of the current clipping region and the specified shape .