public abstract class org.apache.batik.svggen.AbstractImageHandlerEncoder extends org.apache.batik.svggen.DefaultImageHandler
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.batik.svggen.AbstractImageHandlerEncoder
  super_class: org.apache.batik.svggen.DefaultImageHandler
{
  private static final java.awt.geom.AffineTransform IDENTITY;
    descriptor: Ljava/awt/geom/AffineTransform;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private java.lang.String imageDir;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String urlRoot;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private static java.lang.reflect.Method createGraphics;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static boolean initDone;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final java.lang.Class[] paramc;
    descriptor: [Ljava/lang/Class;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static java.lang.Object[] paramo;
    descriptor: [Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 49
            new java.awt.geom.AffineTransform
            dup
            invokespecial java.awt.geom.AffineTransform.<init>:()V
            putstatic org.apache.batik.svggen.AbstractImageHandlerEncoder.IDENTITY:Ljava/awt/geom/AffineTransform;
         1: .line 62
            aconst_null
            putstatic org.apache.batik.svggen.AbstractImageHandlerEncoder.createGraphics:Ljava/lang/reflect/Method;
         2: .line 63
            iconst_0
            putstatic org.apache.batik.svggen.AbstractImageHandlerEncoder.initDone:Z
         3: .line 64
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/awt/image/BufferedImage;
            aastore
            putstatic org.apache.batik.svggen.AbstractImageHandlerEncoder.paramc:[Ljava/lang/Class;
         4: .line 65
            aconst_null
            putstatic org.apache.batik.svggen.AbstractImageHandlerEncoder.paramo:[Ljava/lang/Object;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.awt.Graphics2D createGraphics(java.awt.image.BufferedImage);
    descriptor: (Ljava/awt/image/BufferedImage;)Ljava/awt/Graphics2D;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.awt.image.BufferedImage buf
         0: .line 74
            getstatic org.apache.batik.svggen.AbstractImageHandlerEncoder.initDone:Z
            ifne 13
         1: .line 76
            ldc "org.apache.batik.ext.awt.image.GraphicsUtil"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 1 /* clazz */
        start local 1 // java.lang.Class clazz
         2: .line 77
            aload 1 /* clazz */
            ldc "createGraphics"
            getstatic org.apache.batik.svggen.AbstractImageHandlerEncoder.paramc:[Ljava/lang/Class;
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putstatic org.apache.batik.svggen.AbstractImageHandlerEncoder.createGraphics:Ljava/lang/reflect/Method;
         3: .line 78
            iconst_1
            anewarray java.lang.Object
            putstatic org.apache.batik.svggen.AbstractImageHandlerEncoder.paramo:[Ljava/lang/Object;
        end local 1 // java.lang.Class clazz
         4: .line 79
            goto 12
      StackMap locals:
      StackMap stack: java.lang.ThreadDeath
         5: astore 1 /* td */
        start local 1 // java.lang.ThreadDeath td
         6: .line 80
            aload 1 /* td */
            athrow
        end local 1 // java.lang.ThreadDeath td
         7: .line 81
      StackMap locals:
      StackMap stack: java.lang.Throwable
            pop
         8: .line 84
            iconst_1
            putstatic org.apache.batik.svggen.AbstractImageHandlerEncoder.initDone:Z
            goto 13
         9: .line 83
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2
        10: .line 84
            iconst_1
            putstatic org.apache.batik.svggen.AbstractImageHandlerEncoder.initDone:Z
        11: .line 85
            aload 2
            athrow
        12: .line 84
      StackMap locals:
      StackMap stack:
            iconst_1
            putstatic org.apache.batik.svggen.AbstractImageHandlerEncoder.initDone:Z
        13: .line 87
      StackMap locals:
      StackMap stack:
            getstatic org.apache.batik.svggen.AbstractImageHandlerEncoder.createGraphics:Ljava/lang/reflect/Method;
            ifnonnull 15
        14: .line 88
            aload 0 /* buf */
            invokevirtual java.awt.image.BufferedImage.createGraphics:()Ljava/awt/Graphics2D;
            areturn
        15: .line 90
      StackMap locals:
      StackMap stack:
            getstatic org.apache.batik.svggen.AbstractImageHandlerEncoder.paramo:[Ljava/lang/Object;
            iconst_0
            aload 0 /* buf */
            aastore
        16: .line 91
            aconst_null
            astore 1 /* g2d */
        start local 1 // java.awt.Graphics2D g2d
        17: .line 93
            getstatic org.apache.batik.svggen.AbstractImageHandlerEncoder.createGraphics:Ljava/lang/reflect/Method;
            aconst_null
            getstatic org.apache.batik.svggen.AbstractImageHandlerEncoder.paramo:[Ljava/lang/Object;
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.awt.Graphics2D
            astore 1 /* g2d */
        18: .line 94
            goto 20
      StackMap locals: java.awt.image.BufferedImage java.awt.Graphics2D
      StackMap stack: java.lang.Exception
        19: pop
        20: .line 97
      StackMap locals:
      StackMap stack:
            aload 1 /* g2d */
            areturn
        end local 1 // java.awt.Graphics2D g2d
        end local 0 // java.awt.image.BufferedImage buf
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   21     0    buf  Ljava/awt/image/BufferedImage;
            2    4     1  clazz  Ljava/lang/Class;
            6    7     1     td  Ljava/lang/ThreadDeath;
           17   21     1    g2d  Ljava/awt/Graphics2D;
      Exception table:
        from    to  target  type
           1     4       5  Class java.lang.ThreadDeath
           1     4       7  Class java.lang.Throwable
           1     8       9  any
          17    18      19  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      buf   

  public void <init>(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.apache.batik.svggen.AbstractImageHandlerEncoder this
        start local 1 // java.lang.String imageDir
        start local 2 // java.lang.String urlRoot
         0: .line 108
            aload 0 /* this */
            invokespecial org.apache.batik.svggen.DefaultImageHandler.<init>:()V
         1: .line 54
            aload 0 /* this */
            ldc ""
            putfield org.apache.batik.svggen.AbstractImageHandlerEncoder.imageDir:Ljava/lang/String;
         2: .line 59
            aload 0 /* this */
            ldc ""
            putfield org.apache.batik.svggen.AbstractImageHandlerEncoder.urlRoot:Ljava/lang/String;
         3: .line 110
            aload 1 /* imageDir */
            ifnonnull 5
         4: .line 111
            new org.apache.batik.svggen.SVGGraphics2DRuntimeException
            dup
            ldc "imageDir should not be null"
            invokespecial org.apache.batik.svggen.SVGGraphics2DRuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 113
      StackMap locals: org.apache.batik.svggen.AbstractImageHandlerEncoder java.lang.String java.lang.String
      StackMap stack:
            new java.io.File
            dup
            aload 1 /* imageDir */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 3 /* imageDirFile */
        start local 3 // java.io.File imageDirFile
         6: .line 114
            aload 3 /* imageDirFile */
            invokevirtual java.io.File.exists:()Z
            ifne 8
         7: .line 115
            new org.apache.batik.svggen.SVGGraphics2DRuntimeException
            dup
            ldc "imageDir does not exist"
            invokespecial org.apache.batik.svggen.SVGGraphics2DRuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 117
      StackMap locals: java.io.File
      StackMap stack:
            aload 0 /* this */
            aload 1 /* imageDir */
            putfield org.apache.batik.svggen.AbstractImageHandlerEncoder.imageDir:Ljava/lang/String;
         9: .line 118
            aload 2 /* urlRoot */
            ifnull 11
        10: .line 119
            aload 0 /* this */
            aload 2 /* urlRoot */
            putfield org.apache.batik.svggen.AbstractImageHandlerEncoder.urlRoot:Ljava/lang/String;
            goto 18
        11: .line 122
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* imageDirFile */
            invokevirtual java.io.File.toURI:()Ljava/net/URI;
            invokevirtual java.net.URI.toURL:()Ljava/net/URL;
            invokevirtual java.net.URL.toString:()Ljava/lang/String;
            putfield org.apache.batik.svggen.AbstractImageHandlerEncoder.urlRoot:Ljava/lang/String;
        12: .line 123
            goto 18
      StackMap locals:
      StackMap stack: java.net.MalformedURLException
        13: astore 4 /* e */
        start local 4 // java.net.MalformedURLException e
        14: .line 124
            new org.apache.batik.svggen.SVGGraphics2DIOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "cannot convert imageDir to a URL value : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        15: .line 125
            aload 4 /* e */
            invokevirtual java.net.MalformedURLException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 126
            aload 4 /* e */
        17: .line 124
            invokespecial org.apache.batik.svggen.SVGGraphics2DIOException.<init>:(Ljava/lang/String;Ljava/io/IOException;)V
            athrow
        end local 4 // java.net.MalformedURLException e
        18: .line 129
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.io.File imageDirFile
        end local 2 // java.lang.String urlRoot
        end local 1 // java.lang.String imageDir
        end local 0 // org.apache.batik.svggen.AbstractImageHandlerEncoder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   19     0          this  Lorg/apache/batik/svggen/AbstractImageHandlerEncoder;
            0   19     1      imageDir  Ljava/lang/String;
            0   19     2       urlRoot  Ljava/lang/String;
            6   19     3  imageDirFile  Ljava/io/File;
           14   18     4             e  Ljava/net/MalformedURLException;
      Exception table:
        from    to  target  type
          11    12      13  Class java.net.MalformedURLException
    Exceptions:
      throws org.apache.batik.svggen.SVGGraphics2DIOException
    MethodParameters:
          Name  Flags
      imageDir  
      urlRoot   

  protected void handleHREF(java.awt.Image, org.w3c.dom.Element, org.apache.batik.svggen.SVGGeneratorContext);
    descriptor: (Ljava/awt/Image;Lorg/w3c/dom/Element;Lorg/apache/batik/svggen/SVGGeneratorContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.apache.batik.svggen.AbstractImageHandlerEncoder this
        start local 1 // java.awt.Image image
        start local 2 // org.w3c.dom.Element imageElement
        start local 3 // org.apache.batik.svggen.SVGGeneratorContext generatorContext
         0: .line 139
            new java.awt.Dimension
            dup
            aload 1 /* image */
            aconst_null
            invokevirtual java.awt.Image.getWidth:(Ljava/awt/image/ImageObserver;)I
         1: .line 140
            aload 1 /* image */
            aconst_null
            invokevirtual java.awt.Image.getHeight:(Ljava/awt/image/ImageObserver;)I
         2: .line 139
            invokespecial java.awt.Dimension.<init>:(II)V
            astore 4 /* size */
        start local 4 // java.awt.Dimension size
         3: .line 141
            aload 0 /* this */
            aload 4 /* size */
            invokevirtual org.apache.batik.svggen.AbstractImageHandlerEncoder.buildBufferedImage:(Ljava/awt/Dimension;)Ljava/awt/image/BufferedImage;
            astore 5 /* buf */
        start local 5 // java.awt.image.BufferedImage buf
         4: .line 143
            aload 5 /* buf */
            invokestatic org.apache.batik.svggen.AbstractImageHandlerEncoder.createGraphics:(Ljava/awt/image/BufferedImage;)Ljava/awt/Graphics2D;
            astore 6 /* g */
        start local 6 // java.awt.Graphics2D g
         5: .line 145
            aload 6 /* g */
            aload 1 /* image */
            iconst_0
            iconst_0
            aconst_null
            invokevirtual java.awt.Graphics2D.drawImage:(Ljava/awt/Image;IILjava/awt/image/ImageObserver;)Z
            pop
         6: .line 146
            aload 6 /* g */
            invokevirtual java.awt.Graphics2D.dispose:()V
         7: .line 149
            aload 0 /* this */
            aload 2 /* imageElement */
            aload 5 /* buf */
            aload 3 /* generatorContext */
            invokevirtual org.apache.batik.svggen.AbstractImageHandlerEncoder.saveBufferedImageToFile:(Lorg/w3c/dom/Element;Ljava/awt/image/BufferedImage;Lorg/apache/batik/svggen/SVGGeneratorContext;)V
         8: .line 150
            return
        end local 6 // java.awt.Graphics2D g
        end local 5 // java.awt.image.BufferedImage buf
        end local 4 // java.awt.Dimension size
        end local 3 // org.apache.batik.svggen.SVGGeneratorContext generatorContext
        end local 2 // org.w3c.dom.Element imageElement
        end local 1 // java.awt.Image image
        end local 0 // org.apache.batik.svggen.AbstractImageHandlerEncoder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    9     0              this  Lorg/apache/batik/svggen/AbstractImageHandlerEncoder;
            0    9     1             image  Ljava/awt/Image;
            0    9     2      imageElement  Lorg/w3c/dom/Element;
            0    9     3  generatorContext  Lorg/apache/batik/svggen/SVGGeneratorContext;
            3    9     4              size  Ljava/awt/Dimension;
            4    9     5               buf  Ljava/awt/image/BufferedImage;
            5    9     6                 g  Ljava/awt/Graphics2D;
    Exceptions:
      throws org.apache.batik.svggen.SVGGraphics2DIOException
    MethodParameters:
                  Name  Flags
      image             
      imageElement      
      generatorContext  

  protected void handleHREF(java.awt.image.RenderedImage, org.w3c.dom.Element, org.apache.batik.svggen.SVGGeneratorContext);
    descriptor: (Ljava/awt/image/RenderedImage;Lorg/w3c/dom/Element;Lorg/apache/batik/svggen/SVGGeneratorContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // org.apache.batik.svggen.AbstractImageHandlerEncoder this
        start local 1 // java.awt.image.RenderedImage image
        start local 2 // org.w3c.dom.Element imageElement
        start local 3 // org.apache.batik.svggen.SVGGeneratorContext generatorContext
         0: .line 160
            new java.awt.Dimension
            dup
            aload 1 /* image */
            invokeinterface java.awt.image.RenderedImage.getWidth:()I
            aload 1 /* image */
            invokeinterface java.awt.image.RenderedImage.getHeight:()I
            invokespecial java.awt.Dimension.<init>:(II)V
            astore 4 /* size */
        start local 4 // java.awt.Dimension size
         1: .line 161
            aload 0 /* this */
            aload 4 /* size */
            invokevirtual org.apache.batik.svggen.AbstractImageHandlerEncoder.buildBufferedImage:(Ljava/awt/Dimension;)Ljava/awt/image/BufferedImage;
            astore 5 /* buf */
        start local 5 // java.awt.image.BufferedImage buf
         2: .line 163
            aload 5 /* buf */
            invokestatic org.apache.batik.svggen.AbstractImageHandlerEncoder.createGraphics:(Ljava/awt/image/BufferedImage;)Ljava/awt/Graphics2D;
            astore 6 /* g */
        start local 6 // java.awt.Graphics2D g
         3: .line 165
            aload 6 /* g */
            aload 1 /* image */
            getstatic org.apache.batik.svggen.AbstractImageHandlerEncoder.IDENTITY:Ljava/awt/geom/AffineTransform;
            invokevirtual java.awt.Graphics2D.drawRenderedImage:(Ljava/awt/image/RenderedImage;Ljava/awt/geom/AffineTransform;)V
         4: .line 166
            aload 6 /* g */
            invokevirtual java.awt.Graphics2D.dispose:()V
         5: .line 169
            aload 0 /* this */
            aload 2 /* imageElement */
            aload 5 /* buf */
            aload 3 /* generatorContext */
            invokevirtual org.apache.batik.svggen.AbstractImageHandlerEncoder.saveBufferedImageToFile:(Lorg/w3c/dom/Element;Ljava/awt/image/BufferedImage;Lorg/apache/batik/svggen/SVGGeneratorContext;)V
         6: .line 170
            return
        end local 6 // java.awt.Graphics2D g
        end local 5 // java.awt.image.BufferedImage buf
        end local 4 // java.awt.Dimension size
        end local 3 // org.apache.batik.svggen.SVGGeneratorContext generatorContext
        end local 2 // org.w3c.dom.Element imageElement
        end local 1 // java.awt.image.RenderedImage image
        end local 0 // org.apache.batik.svggen.AbstractImageHandlerEncoder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Lorg/apache/batik/svggen/AbstractImageHandlerEncoder;
            0    7     1             image  Ljava/awt/image/RenderedImage;
            0    7     2      imageElement  Lorg/w3c/dom/Element;
            0    7     3  generatorContext  Lorg/apache/batik/svggen/SVGGeneratorContext;
            1    7     4              size  Ljava/awt/Dimension;
            2    7     5               buf  Ljava/awt/image/BufferedImage;
            3    7     6                 g  Ljava/awt/Graphics2D;
    Exceptions:
      throws org.apache.batik.svggen.SVGGraphics2DIOException
    MethodParameters:
                  Name  Flags
      image             
      imageElement      
      generatorContext  

  protected void handleHREF(java.awt.image.renderable.RenderableImage, org.w3c.dom.Element, org.apache.batik.svggen.SVGGeneratorContext);
    descriptor: (Ljava/awt/image/renderable/RenderableImage;Lorg/w3c/dom/Element;Lorg/apache/batik/svggen/SVGGeneratorContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.apache.batik.svggen.AbstractImageHandlerEncoder this
        start local 1 // java.awt.image.renderable.RenderableImage image
        start local 2 // org.w3c.dom.Element imageElement
        start local 3 // org.apache.batik.svggen.SVGGeneratorContext generatorContext
         0: .line 180
            new java.awt.Dimension
            dup
            aload 1 /* image */
            invokeinterface java.awt.image.renderable.RenderableImage.getWidth:()F
            f2d
            invokestatic java.lang.Math.ceil:(D)D
            d2i
         1: .line 181
            aload 1 /* image */
            invokeinterface java.awt.image.renderable.RenderableImage.getHeight:()F
            f2d
            invokestatic java.lang.Math.ceil:(D)D
            d2i
         2: .line 180
            invokespecial java.awt.Dimension.<init>:(II)V
            astore 4 /* size */
        start local 4 // java.awt.Dimension size
         3: .line 182
            aload 0 /* this */
            aload 4 /* size */
            invokevirtual org.apache.batik.svggen.AbstractImageHandlerEncoder.buildBufferedImage:(Ljava/awt/Dimension;)Ljava/awt/image/BufferedImage;
            astore 5 /* buf */
        start local 5 // java.awt.image.BufferedImage buf
         4: .line 184
            aload 5 /* buf */
            invokestatic org.apache.batik.svggen.AbstractImageHandlerEncoder.createGraphics:(Ljava/awt/image/BufferedImage;)Ljava/awt/Graphics2D;
            astore 6 /* g */
        start local 6 // java.awt.Graphics2D g
         5: .line 186
            aload 6 /* g */
            aload 1 /* image */
            getstatic org.apache.batik.svggen.AbstractImageHandlerEncoder.IDENTITY:Ljava/awt/geom/AffineTransform;
            invokevirtual java.awt.Graphics2D.drawRenderableImage:(Ljava/awt/image/renderable/RenderableImage;Ljava/awt/geom/AffineTransform;)V
         6: .line 187
            aload 6 /* g */
            invokevirtual java.awt.Graphics2D.dispose:()V
         7: .line 190
            aload 0 /* this */
            aload 2 /* imageElement */
            aload 5 /* buf */
            aload 3 /* generatorContext */
            invokevirtual org.apache.batik.svggen.AbstractImageHandlerEncoder.saveBufferedImageToFile:(Lorg/w3c/dom/Element;Ljava/awt/image/BufferedImage;Lorg/apache/batik/svggen/SVGGeneratorContext;)V
         8: .line 191
            return
        end local 6 // java.awt.Graphics2D g
        end local 5 // java.awt.image.BufferedImage buf
        end local 4 // java.awt.Dimension size
        end local 3 // org.apache.batik.svggen.SVGGeneratorContext generatorContext
        end local 2 // org.w3c.dom.Element imageElement
        end local 1 // java.awt.image.renderable.RenderableImage image
        end local 0 // org.apache.batik.svggen.AbstractImageHandlerEncoder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    9     0              this  Lorg/apache/batik/svggen/AbstractImageHandlerEncoder;
            0    9     1             image  Ljava/awt/image/renderable/RenderableImage;
            0    9     2      imageElement  Lorg/w3c/dom/Element;
            0    9     3  generatorContext  Lorg/apache/batik/svggen/SVGGeneratorContext;
            3    9     4              size  Ljava/awt/Dimension;
            4    9     5               buf  Ljava/awt/image/BufferedImage;
            5    9     6                 g  Ljava/awt/Graphics2D;
    Exceptions:
      throws org.apache.batik.svggen.SVGGraphics2DIOException
    MethodParameters:
                  Name  Flags
      image             
      imageElement      
      generatorContext  

  private void saveBufferedImageToFile(org.w3c.dom.Element, java.awt.image.BufferedImage, org.apache.batik.svggen.SVGGeneratorContext);
    descriptor: (Lorg/w3c/dom/Element;Ljava/awt/image/BufferedImage;Lorg/apache/batik/svggen/SVGGeneratorContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // org.apache.batik.svggen.AbstractImageHandlerEncoder this
        start local 1 // org.w3c.dom.Element imageElement
        start local 2 // java.awt.image.BufferedImage buf
        start local 3 // org.apache.batik.svggen.SVGGeneratorContext generatorContext
         0: .line 197
            aload 3 /* generatorContext */
            ifnonnull 2
         1: .line 198
            new org.apache.batik.svggen.SVGGraphics2DRuntimeException
            dup
            ldc "generatorContext should not be null"
            invokespecial org.apache.batik.svggen.SVGGraphics2DRuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 201
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* imageFile */
        start local 4 // java.io.File imageFile
         3: .line 205
            goto 8
         4: .line 206
      StackMap locals: java.io.File
      StackMap stack:
            aload 3 /* generatorContext */
            getfield org.apache.batik.svggen.SVGGeneratorContext.idGenerator:Lorg/apache/batik/svggen/SVGIDGenerator;
            aload 0 /* this */
            invokevirtual org.apache.batik.svggen.AbstractImageHandlerEncoder.getPrefix:()Ljava/lang/String;
            invokevirtual org.apache.batik.svggen.SVGIDGenerator.generateID:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* fileId */
        start local 5 // java.lang.String fileId
         5: .line 207
            new java.io.File
            dup
            aload 0 /* this */
            getfield org.apache.batik.svggen.AbstractImageHandlerEncoder.imageDir:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            aload 5 /* fileId */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.apache.batik.svggen.AbstractImageHandlerEncoder.getSuffix:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 4 /* imageFile */
         6: .line 208
            aload 4 /* imageFile */
            invokevirtual java.io.File.exists:()Z
            ifeq 8
         7: .line 209
            aconst_null
            astore 4 /* imageFile */
        end local 5 // java.lang.String fileId
         8: .line 205
      StackMap locals:
      StackMap stack:
            aload 4 /* imageFile */
            ifnull 4
         9: .line 213
            aload 0 /* this */
            aload 2 /* buf */
            aload 4 /* imageFile */
            invokevirtual org.apache.batik.svggen.AbstractImageHandlerEncoder.encodeImage:(Ljava/awt/image/BufferedImage;Ljava/io/File;)V
        10: .line 216
            aload 1 /* imageElement */
            ldc "http://www.w3.org/1999/xlink"
        11: .line 217
            ldc "xlink:href"
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.apache.batik.svggen.AbstractImageHandlerEncoder.urlRoot:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 218
            aload 4 /* imageFile */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 216
            invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        14: .line 219
            return
        end local 4 // java.io.File imageFile
        end local 3 // org.apache.batik.svggen.SVGGeneratorContext generatorContext
        end local 2 // java.awt.image.BufferedImage buf
        end local 1 // org.w3c.dom.Element imageElement
        end local 0 // org.apache.batik.svggen.AbstractImageHandlerEncoder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   15     0              this  Lorg/apache/batik/svggen/AbstractImageHandlerEncoder;
            0   15     1      imageElement  Lorg/w3c/dom/Element;
            0   15     2               buf  Ljava/awt/image/BufferedImage;
            0   15     3  generatorContext  Lorg/apache/batik/svggen/SVGGeneratorContext;
            3   15     4         imageFile  Ljava/io/File;
            5    8     5            fileId  Ljava/lang/String;
    Exceptions:
      throws org.apache.batik.svggen.SVGGraphics2DIOException
    MethodParameters:
                  Name  Flags
      imageElement      
      buf               
      generatorContext  

  public abstract java.lang.String getSuffix();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String getPrefix();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void encodeImage(java.awt.image.BufferedImage, java.io.File);
    descriptor: (Ljava/awt/image/BufferedImage;Ljava/io/File;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws org.apache.batik.svggen.SVGGraphics2DIOException
    MethodParameters:
           Name  Flags
      buf        
      imageFile  

  public abstract java.awt.image.BufferedImage buildBufferedImage(java.awt.Dimension);
    descriptor: (Ljava/awt/Dimension;)Ljava/awt/image/BufferedImage;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      size  
}
SourceFile: "AbstractImageHandlerEncoder.java"