public class org.apache.fop.afp.AFPBorderPainter extends org.apache.fop.afp.AbstractAFPPainter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.fop.afp.AFPBorderPainter
  super_class: org.apache.fop.afp.AbstractAFPPainter
{
  public void <init>(org.apache.fop.afp.AFPPaintingState, org.apache.fop.afp.DataStream);
    descriptor: (Lorg/apache/fop/afp/AFPPaintingState;Lorg/apache/fop/afp/DataStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.fop.afp.AFPBorderPainter this
        start local 1 // org.apache.fop.afp.AFPPaintingState paintingState
        start local 2 // org.apache.fop.afp.DataStream dataStream
         0: .line 40
            aload 0 /* this */
            aload 1 /* paintingState */
            aload 2 /* dataStream */
            invokespecial org.apache.fop.afp.AbstractAFPPainter.<init>:(Lorg/apache/fop/afp/AFPPaintingState;Lorg/apache/fop/afp/DataStream;)V
         1: .line 41
            return
        end local 2 // org.apache.fop.afp.DataStream dataStream
        end local 1 // org.apache.fop.afp.AFPPaintingState paintingState
        end local 0 // org.apache.fop.afp.AFPBorderPainter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/apache/fop/afp/AFPBorderPainter;
            0    2     1  paintingState  Lorg/apache/fop/afp/AFPPaintingState;
            0    2     2     dataStream  Lorg/apache/fop/afp/DataStream;
    MethodParameters:
               Name  Flags
      paintingState  
      dataStream     

  public void paint(org.apache.fop.afp.PaintingInfo);
    descriptor: (Lorg/apache/fop/afp/PaintingInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=20, args_size=2
        start local 0 // org.apache.fop.afp.AFPBorderPainter this
        start local 1 // org.apache.fop.afp.PaintingInfo paintInfo
         0: .line 45
            aload 0 /* this */
            getfield org.apache.fop.afp.AFPBorderPainter.dataStream:Lorg/apache/fop/afp/DataStream;
            invokevirtual org.apache.fop.afp.DataStream.getCurrentPage:()Lorg/apache/fop/afp/modca/AbstractPageObject;
            invokevirtual org.apache.fop.afp.modca.AbstractPageObject.getPresentationTextObject:()Lorg/apache/fop/afp/modca/PresentationTextObject;
            invokevirtual org.apache.fop.afp.modca.PresentationTextObject.getBytesAvailable:()Ljava/lang/Integer;
            astore 2 /* bytesAvailable */
        start local 2 // java.lang.Integer bytesAvailable
         1: .line 46
            aload 2 /* bytesAvailable */
            ifnull 3
            aload 2 /* bytesAvailable */
            invokevirtual java.lang.Integer.intValue:()I
            sipush 1024
            if_icmpge 3
         2: .line 47
            aload 0 /* this */
            getfield org.apache.fop.afp.AFPBorderPainter.dataStream:Lorg/apache/fop/afp/DataStream;
            invokevirtual org.apache.fop.afp.DataStream.getCurrentPage:()Lorg/apache/fop/afp/modca/AbstractPageObject;
            invokevirtual org.apache.fop.afp.modca.AbstractPageObject.endPresentationObject:()V
         3: .line 50
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 1 /* paintInfo */
            checkcast org.apache.fop.afp.BorderPaintingInfo
            astore 3 /* borderPaintInfo */
        start local 3 // org.apache.fop.afp.BorderPaintingInfo borderPaintInfo
         4: .line 51
            aload 3 /* borderPaintInfo */
            invokevirtual org.apache.fop.afp.BorderPaintingInfo.getX2:()F
            aload 3 /* borderPaintInfo */
            invokevirtual org.apache.fop.afp.BorderPaintingInfo.getX1:()F
            fsub
            fstore 4 /* w */
        start local 4 // float w
         5: .line 52
            aload 3 /* borderPaintInfo */
            invokevirtual org.apache.fop.afp.BorderPaintingInfo.getY2:()F
            aload 3 /* borderPaintInfo */
            invokevirtual org.apache.fop.afp.BorderPaintingInfo.getY1:()F
            fsub
            fstore 5 /* h */
        start local 5 // float h
         6: .line 53
            fload 4 /* w */
            fconst_0
            fcmpg
            iflt 7
            fload 5 /* h */
            fconst_0
            fcmpg
            ifge 9
         7: .line 54
      StackMap locals: org.apache.fop.afp.BorderPaintingInfo float float
      StackMap stack:
            getstatic org.apache.fop.afp.AFPBorderPainter.log:Lorg/apache/commons/logging/Log;
            ldc "Negative extent received. Border won't be painted."
            invokeinterface org.apache.commons.logging.Log.error:(Ljava/lang/Object;)V
         8: .line 55
            return
         9: .line 58
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.fop.afp.AFPBorderPainter.dataStream:Lorg/apache/fop/afp/DataStream;
            invokevirtual org.apache.fop.afp.DataStream.getCurrentPage:()Lorg/apache/fop/afp/modca/AbstractPageObject;
            invokevirtual org.apache.fop.afp.modca.AbstractPageObject.getWidth:()I
            istore 6 /* pageWidth */
        start local 6 // int pageWidth
        10: .line 59
            aload 0 /* this */
            getfield org.apache.fop.afp.AFPBorderPainter.dataStream:Lorg/apache/fop/afp/DataStream;
            invokevirtual org.apache.fop.afp.DataStream.getCurrentPage:()Lorg/apache/fop/afp/modca/AbstractPageObject;
            invokevirtual org.apache.fop.afp.modca.AbstractPageObject.getHeight:()I
            istore 7 /* pageHeight */
        start local 7 // int pageHeight
        11: .line 60
            aload 0 /* this */
            getfield org.apache.fop.afp.AFPBorderPainter.paintingState:Lorg/apache/fop/afp/AFPPaintingState;
            invokevirtual org.apache.fop.afp.AFPPaintingState.getUnitConverter:()Lorg/apache/fop/afp/AFPUnitConverter;
            astore 8 /* unitConv */
        start local 8 // org.apache.fop.afp.AFPUnitConverter unitConv
        12: .line 61
            aload 0 /* this */
            getfield org.apache.fop.afp.AFPBorderPainter.paintingState:Lorg/apache/fop/afp/AFPPaintingState;
            invokevirtual org.apache.fop.afp.AFPPaintingState.getData:()Lorg/apache/fop/util/AbstractPaintingState$AbstractData;
            invokevirtual org.apache.fop.util.AbstractPaintingState$AbstractData.getTransform:()Ljava/awt/geom/AffineTransform;
            astore 9 /* at */
        start local 9 // java.awt.geom.AffineTransform at
        13: .line 63
            aload 8 /* unitConv */
            aload 3 /* borderPaintInfo */
            invokevirtual org.apache.fop.afp.BorderPaintingInfo.getX1:()F
            invokevirtual org.apache.fop.afp.AFPUnitConverter.pt2units:(F)F
            fstore 10 /* x1 */
        start local 10 // float x1
        14: .line 64
            aload 8 /* unitConv */
            aload 3 /* borderPaintInfo */
            invokevirtual org.apache.fop.afp.BorderPaintingInfo.getY1:()F
            invokevirtual org.apache.fop.afp.AFPUnitConverter.pt2units:(F)F
            fstore 11 /* y1 */
        start local 11 // float y1
        15: .line 65
            aload 8 /* unitConv */
            aload 3 /* borderPaintInfo */
            invokevirtual org.apache.fop.afp.BorderPaintingInfo.getX2:()F
            invokevirtual org.apache.fop.afp.AFPUnitConverter.pt2units:(F)F
            fstore 12 /* x2 */
        start local 12 // float x2
        16: .line 66
            aload 8 /* unitConv */
            aload 3 /* borderPaintInfo */
            invokevirtual org.apache.fop.afp.BorderPaintingInfo.getY2:()F
            invokevirtual org.apache.fop.afp.AFPUnitConverter.pt2units:(F)F
            fstore 13 /* y2 */
        start local 13 // float y2
        17: .line 68
            aload 0 /* this */
            getfield org.apache.fop.afp.AFPBorderPainter.paintingState:Lorg/apache/fop/afp/AFPPaintingState;
            invokevirtual org.apache.fop.afp.AFPPaintingState.getRotation:()I
            lookupswitch { // 4
                    0: 33
                   90: 18
                  180: 23
                  270: 28
              default: 33
          }
        18: .line 70
      StackMap locals: org.apache.fop.afp.AFPBorderPainter org.apache.fop.afp.PaintingInfo java.lang.Integer org.apache.fop.afp.BorderPaintingInfo float float int int org.apache.fop.afp.AFPUnitConverter java.awt.geom.AffineTransform float float float float
      StackMap stack:
            fload 10 /* x1 */
            f2d
            aload 9 /* at */
            invokevirtual java.awt.geom.AffineTransform.getTranslateY:()D
            dadd
            d2f
            fstore 10 /* x1 */
        19: .line 71
            fload 11 /* y1 */
            iload 6 /* pageWidth */
            i2d
            aload 9 /* at */
            invokevirtual java.awt.geom.AffineTransform.getTranslateX:()D
            dsub
            d2f
            fadd
            fstore 11 /* y1 */
        20: .line 72
            fload 12 /* x2 */
            f2d
            aload 9 /* at */
            invokevirtual java.awt.geom.AffineTransform.getTranslateY:()D
            dadd
            d2f
            fstore 12 /* x2 */
        21: .line 73
            fload 13 /* y2 */
            iload 6 /* pageWidth */
            i2d
            aload 9 /* at */
            invokevirtual java.awt.geom.AffineTransform.getTranslateX:()D
            dsub
            d2f
            fadd
            fstore 13 /* y2 */
        22: .line 74
            goto 37
        23: .line 76
      StackMap locals:
      StackMap stack:
            fload 10 /* x1 */
            iload 6 /* pageWidth */
            i2d
            aload 9 /* at */
            invokevirtual java.awt.geom.AffineTransform.getTranslateX:()D
            dsub
            d2f
            fadd
            fstore 10 /* x1 */
        24: .line 77
            fload 11 /* y1 */
            iload 7 /* pageHeight */
            i2d
            aload 9 /* at */
            invokevirtual java.awt.geom.AffineTransform.getTranslateY:()D
            dsub
            d2f
            fadd
            fstore 11 /* y1 */
        25: .line 78
            fload 12 /* x2 */
            iload 6 /* pageWidth */
            i2d
            aload 9 /* at */
            invokevirtual java.awt.geom.AffineTransform.getTranslateX:()D
            dsub
            d2f
            fadd
            fstore 12 /* x2 */
        26: .line 79
            fload 13 /* y2 */
            iload 7 /* pageHeight */
            i2d
            aload 9 /* at */
            invokevirtual java.awt.geom.AffineTransform.getTranslateY:()D
            dsub
            d2f
            fadd
            fstore 13 /* y2 */
        27: .line 80
            goto 37
        28: .line 82
      StackMap locals:
      StackMap stack:
            iload 7 /* pageHeight */
            i2d
            aload 9 /* at */
            invokevirtual java.awt.geom.AffineTransform.getTranslateY:()D
            dsub
            d2f
            fstore 10 /* x1 */
        29: .line 83
            fload 11 /* y1 */
            aload 9 /* at */
            invokevirtual java.awt.geom.AffineTransform.getTranslateX:()D
            d2f
            fadd
            fstore 11 /* y1 */
        30: .line 84
            fload 12 /* x2 */
            fload 10 /* x1 */
            fadd
            fstore 12 /* x2 */
        31: .line 85
            fload 13 /* y2 */
            aload 9 /* at */
            invokevirtual java.awt.geom.AffineTransform.getTranslateX:()D
            d2f
            fadd
            fstore 13 /* y2 */
        32: .line 86
            goto 37
        33: .line 89
      StackMap locals:
      StackMap stack:
            fload 10 /* x1 */
            f2d
            aload 9 /* at */
            invokevirtual java.awt.geom.AffineTransform.getTranslateX:()D
            dadd
            d2f
            fstore 10 /* x1 */
        34: .line 90
            fload 11 /* y1 */
            f2d
            aload 9 /* at */
            invokevirtual java.awt.geom.AffineTransform.getTranslateY:()D
            dadd
            d2f
            fstore 11 /* y1 */
        35: .line 91
            fload 12 /* x2 */
            f2d
            aload 9 /* at */
            invokevirtual java.awt.geom.AffineTransform.getTranslateX:()D
            dadd
            d2f
            fstore 12 /* x2 */
        36: .line 92
            fload 13 /* y2 */
            f2d
            aload 9 /* at */
            invokevirtual java.awt.geom.AffineTransform.getTranslateY:()D
            dadd
            d2f
            fstore 13 /* y2 */
        37: .line 96
      StackMap locals:
      StackMap stack:
            new org.apache.fop.afp.AFPLineDataInfo
            dup
            invokespecial org.apache.fop.afp.AFPLineDataInfo.<init>:()V
            astore 14 /* lineDataInfo */
        start local 14 // org.apache.fop.afp.AFPLineDataInfo lineDataInfo
        38: .line 97
            aload 14 /* lineDataInfo */
            aload 3 /* borderPaintInfo */
            invokevirtual org.apache.fop.afp.BorderPaintingInfo.getColor:()Ljava/awt/Color;
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setColor:(Ljava/awt/Color;)V
        39: .line 98
            aload 14 /* lineDataInfo */
            aload 0 /* this */
            getfield org.apache.fop.afp.AFPBorderPainter.paintingState:Lorg/apache/fop/afp/AFPPaintingState;
            invokevirtual org.apache.fop.afp.AFPPaintingState.getRotation:()I
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setRotation:(I)V
        40: .line 99
            aload 14 /* lineDataInfo */
            fload 10 /* x1 */
            invokestatic java.lang.Math.round:(F)I
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setX1:(I)V
        41: .line 100
            aload 14 /* lineDataInfo */
            fload 11 /* y1 */
            invokestatic java.lang.Math.round:(F)I
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setY1:(I)V
        42: .line 102
            aload 3 /* borderPaintInfo */
            invokevirtual org.apache.fop.afp.BorderPaintingInfo.isHorizontal:()Z
            ifeq 45
        43: .line 103
            fload 13 /* y2 */
            fload 11 /* y1 */
            fsub
            fstore 15 /* thickness */
        start local 15 // float thickness
        44: .line 104
            goto 46
        end local 15 // float thickness
        45: .line 105
      StackMap locals: org.apache.fop.afp.AFPLineDataInfo
      StackMap stack:
            fload 12 /* x2 */
            fload 10 /* x1 */
            fsub
            fstore 15 /* thickness */
        start local 15 // float thickness
        46: .line 107
      StackMap locals: float
      StackMap stack:
            aload 14 /* lineDataInfo */
            fload 15 /* thickness */
            invokestatic java.lang.Math.round:(F)I
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setThickness:(I)V
        47: .line 110
            aload 3 /* borderPaintInfo */
            invokevirtual org.apache.fop.afp.BorderPaintingInfo.getStyle:()I
            lookupswitch { // 9
                   31: 69
                   36: 92
                   37: 48
                   55: 111
                   57: 135
                   67: 136
                  101: 136
                  119: 111
                  133: 136
              default: 136
          }
        48: .line 112
      StackMap locals:
      StackMap stack:
            fload 15 /* thickness */
            ldc 3.0
            fdiv
            f2d
            invokestatic java.lang.Math.floor:(D)D
            d2i
            istore 16 /* thickness3 */
        start local 16 // int thickness3
        49: .line 113
            aload 14 /* lineDataInfo */
            iload 16 /* thickness3 */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setThickness:(I)V
        50: .line 114
            aload 3 /* borderPaintInfo */
            invokevirtual org.apache.fop.afp.BorderPaintingInfo.isHorizontal:()Z
            ifeq 60
        51: .line 115
            aload 14 /* lineDataInfo */
            fload 12 /* x2 */
            invokestatic java.lang.Math.round:(F)I
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setX2:(I)V
        52: .line 116
            aload 14 /* lineDataInfo */
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getY1:()I
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setY2:(I)V
        53: .line 117
            aload 0 /* this */
            getfield org.apache.fop.afp.AFPBorderPainter.dataStream:Lorg/apache/fop/afp/DataStream;
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.DataStream.createLine:(Lorg/apache/fop/afp/AFPLineDataInfo;)V
        54: .line 118
            iload 16 /* thickness3 */
            iconst_2
            imul
            istore 17 /* distance */
        start local 17 // int distance
        55: .line 119
            new org.apache.fop.afp.AFPLineDataInfo
            dup
            aload 14 /* lineDataInfo */
            invokespecial org.apache.fop.afp.AFPLineDataInfo.<init>:(Lorg/apache/fop/afp/AFPLineDataInfo;)V
            astore 14 /* lineDataInfo */
        56: .line 120
            aload 14 /* lineDataInfo */
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getY1:()I
            iload 17 /* distance */
            iadd
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setY1:(I)V
        57: .line 121
            aload 14 /* lineDataInfo */
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getY2:()I
            iload 17 /* distance */
            iadd
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setY2:(I)V
        58: .line 122
            aload 0 /* this */
            getfield org.apache.fop.afp.AFPBorderPainter.dataStream:Lorg/apache/fop/afp/DataStream;
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.DataStream.createLine:(Lorg/apache/fop/afp/AFPLineDataInfo;)V
        end local 17 // int distance
        59: .line 123
            goto 143
        60: .line 124
      StackMap locals: int
      StackMap stack:
            aload 14 /* lineDataInfo */
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getX1:()I
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setX2:(I)V
        61: .line 125
            aload 14 /* lineDataInfo */
            fload 13 /* y2 */
            invokestatic java.lang.Math.round:(F)I
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setY2:(I)V
        62: .line 126
            aload 0 /* this */
            getfield org.apache.fop.afp.AFPBorderPainter.dataStream:Lorg/apache/fop/afp/DataStream;
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.DataStream.createLine:(Lorg/apache/fop/afp/AFPLineDataInfo;)V
        63: .line 127
            iload 16 /* thickness3 */
            iconst_2
            imul
            istore 17 /* distance */
        start local 17 // int distance
        64: .line 128
            new org.apache.fop.afp.AFPLineDataInfo
            dup
            aload 14 /* lineDataInfo */
            invokespecial org.apache.fop.afp.AFPLineDataInfo.<init>:(Lorg/apache/fop/afp/AFPLineDataInfo;)V
            astore 14 /* lineDataInfo */
        65: .line 129
            aload 14 /* lineDataInfo */
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getX1:()I
            iload 17 /* distance */
            iadd
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setX1:(I)V
        66: .line 130
            aload 14 /* lineDataInfo */
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getX2:()I
            iload 17 /* distance */
            iadd
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setX2:(I)V
        67: .line 131
            aload 0 /* this */
            getfield org.apache.fop.afp.AFPBorderPainter.dataStream:Lorg/apache/fop/afp/DataStream;
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.DataStream.createLine:(Lorg/apache/fop/afp/AFPLineDataInfo;)V
        end local 17 // int distance
        68: .line 133
            goto 143
        end local 16 // int thickness3
        69: .line 135
      StackMap locals:
      StackMap stack:
            aload 3 /* borderPaintInfo */
            invokevirtual org.apache.fop.afp.BorderPaintingInfo.isHorizontal:()Z
            ifeq 81
        70: .line 136
            aload 8 /* unitConv */
            fload 4 /* w */
            fload 5 /* h */
            invokestatic org.apache.fop.render.intermediate.BorderPainter.dashWidthCalculator:(FF)F
            invokevirtual org.apache.fop.afp.AFPUnitConverter.pt2units:(F)F
            f2i
            istore 17 /* dashWidth */
        start local 17 // int dashWidth
        71: .line 137
            aload 14 /* lineDataInfo */
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getX1:()I
            iload 17 /* dashWidth */
            iadd
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setX2:(I)V
        72: .line 138
            aload 14 /* lineDataInfo */
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getY1:()I
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setY2:(I)V
        73: .line 139
            fload 12 /* x2 */
            invokestatic java.lang.Math.round:(F)I
            istore 18 /* ex2 */
        start local 18 // int ex2
        74: .line 140
            ldc 0.5
            iload 17 /* dashWidth */
            i2f
            fmul
            f2i
            istore 19 /* spaceWidth */
        start local 19 // int spaceWidth
        75: .line 141
            goto 79
        76: .line 142
      StackMap locals: org.apache.fop.afp.AFPBorderPainter org.apache.fop.afp.PaintingInfo java.lang.Integer org.apache.fop.afp.BorderPaintingInfo float float int int org.apache.fop.afp.AFPUnitConverter java.awt.geom.AffineTransform float float float float org.apache.fop.afp.AFPLineDataInfo float top int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.fop.afp.AFPBorderPainter.dataStream:Lorg/apache/fop/afp/DataStream;
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.DataStream.createLine:(Lorg/apache/fop/afp/AFPLineDataInfo;)V
        77: .line 143
            aload 14 /* lineDataInfo */
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getX2:()I
            iload 19 /* spaceWidth */
            iadd
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setX1:(I)V
        78: .line 144
            aload 14 /* lineDataInfo */
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getX1:()I
            iload 17 /* dashWidth */
            iadd
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setX2:(I)V
        79: .line 141
      StackMap locals:
      StackMap stack:
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getX2:()I
            iload 18 /* ex2 */
            if_icmpgt 143
            iload 17 /* dashWidth */
            ifgt 76
        end local 19 // int spaceWidth
        end local 18 // int ex2
        end local 17 // int dashWidth
        80: .line 146
            goto 143
        81: .line 147
      StackMap locals: org.apache.fop.afp.AFPBorderPainter org.apache.fop.afp.PaintingInfo java.lang.Integer org.apache.fop.afp.BorderPaintingInfo float float int int org.apache.fop.afp.AFPUnitConverter java.awt.geom.AffineTransform float float float float org.apache.fop.afp.AFPLineDataInfo float
      StackMap stack:
            aload 8 /* unitConv */
            fload 5 /* h */
            fload 4 /* w */
            invokestatic org.apache.fop.render.intermediate.BorderPainter.dashWidthCalculator:(FF)F
            invokevirtual org.apache.fop.afp.AFPUnitConverter.pt2units:(F)F
            f2i
            istore 17 /* dashWidth */
        start local 17 // int dashWidth
        82: .line 148
            aload 14 /* lineDataInfo */
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getX1:()I
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setX2:(I)V
        83: .line 149
            aload 14 /* lineDataInfo */
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getY1:()I
            iload 17 /* dashWidth */
            iadd
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setY2:(I)V
        84: .line 150
            fload 13 /* y2 */
            invokestatic java.lang.Math.round:(F)I
            istore 18 /* ey2 */
        start local 18 // int ey2
        85: .line 151
            ldc 0.5
            iload 17 /* dashWidth */
            i2f
            fmul
            f2i
            istore 19 /* spaceWidth */
        start local 19 // int spaceWidth
        86: .line 152
            goto 90
        87: .line 153
      StackMap locals: org.apache.fop.afp.AFPBorderPainter org.apache.fop.afp.PaintingInfo java.lang.Integer org.apache.fop.afp.BorderPaintingInfo float float int int org.apache.fop.afp.AFPUnitConverter java.awt.geom.AffineTransform float float float float org.apache.fop.afp.AFPLineDataInfo float top int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.fop.afp.AFPBorderPainter.dataStream:Lorg/apache/fop/afp/DataStream;
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.DataStream.createLine:(Lorg/apache/fop/afp/AFPLineDataInfo;)V
        88: .line 154
            aload 14 /* lineDataInfo */
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getY2:()I
            iload 19 /* spaceWidth */
            iadd
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setY1:(I)V
        89: .line 155
            aload 14 /* lineDataInfo */
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getY1:()I
            iload 17 /* dashWidth */
            iadd
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setY2:(I)V
        90: .line 152
      StackMap locals:
      StackMap stack:
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getY2:()I
            iload 18 /* ey2 */
            if_icmpgt 143
            iload 17 /* dashWidth */
            ifgt 87
        end local 19 // int spaceWidth
        end local 18 // int ey2
        end local 17 // int dashWidth
        91: .line 158
            goto 143
        92: .line 160
      StackMap locals: org.apache.fop.afp.AFPBorderPainter org.apache.fop.afp.PaintingInfo java.lang.Integer org.apache.fop.afp.BorderPaintingInfo float float int int org.apache.fop.afp.AFPUnitConverter java.awt.geom.AffineTransform float float float float org.apache.fop.afp.AFPLineDataInfo float
      StackMap stack:
            aload 3 /* borderPaintInfo */
            invokevirtual org.apache.fop.afp.BorderPaintingInfo.isHorizontal:()Z
            ifeq 102
        93: .line 161
            aload 14 /* lineDataInfo */
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getX1:()I
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getThickness:()I
            iadd
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setX2:(I)V
        94: .line 162
            aload 14 /* lineDataInfo */
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getY1:()I
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setY2:(I)V
        95: .line 163
            fload 12 /* x2 */
            invokestatic java.lang.Math.round:(F)I
            istore 17 /* ex2 */
        start local 17 // int ex2
        96: .line 164
            goto 100
        97: .line 165
      StackMap locals: org.apache.fop.afp.AFPBorderPainter org.apache.fop.afp.PaintingInfo java.lang.Integer org.apache.fop.afp.BorderPaintingInfo float float int int org.apache.fop.afp.AFPUnitConverter java.awt.geom.AffineTransform float float float float org.apache.fop.afp.AFPLineDataInfo float top int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.fop.afp.AFPBorderPainter.dataStream:Lorg/apache/fop/afp/DataStream;
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.DataStream.createLine:(Lorg/apache/fop/afp/AFPLineDataInfo;)V
        98: .line 166
            aload 14 /* lineDataInfo */
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getX1:()I
            iconst_3
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getThickness:()I
            imul
            iadd
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setX1:(I)V
        99: .line 167
            aload 14 /* lineDataInfo */
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getX1:()I
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getThickness:()I
            iadd
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setX2:(I)V
       100: .line 164
      StackMap locals:
      StackMap stack:
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getX1:()I
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getThickness:()I
            iadd
            iload 17 /* ex2 */
            if_icmplt 97
        end local 17 // int ex2
       101: .line 169
            goto 143
       102: .line 170
      StackMap locals: org.apache.fop.afp.AFPBorderPainter org.apache.fop.afp.PaintingInfo java.lang.Integer org.apache.fop.afp.BorderPaintingInfo float float int int org.apache.fop.afp.AFPUnitConverter java.awt.geom.AffineTransform float float float float org.apache.fop.afp.AFPLineDataInfo float
      StackMap stack:
            aload 14 /* lineDataInfo */
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getX1:()I
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setX2:(I)V
       103: .line 171
            aload 14 /* lineDataInfo */
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getY1:()I
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getThickness:()I
            iadd
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setY2:(I)V
       104: .line 172
            fload 13 /* y2 */
            invokestatic java.lang.Math.round:(F)I
            istore 17 /* ey2 */
        start local 17 // int ey2
       105: .line 173
            goto 109
       106: .line 174
      StackMap locals: org.apache.fop.afp.AFPBorderPainter org.apache.fop.afp.PaintingInfo java.lang.Integer org.apache.fop.afp.BorderPaintingInfo float float int int org.apache.fop.afp.AFPUnitConverter java.awt.geom.AffineTransform float float float float org.apache.fop.afp.AFPLineDataInfo float top int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.fop.afp.AFPBorderPainter.dataStream:Lorg/apache/fop/afp/DataStream;
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.DataStream.createLine:(Lorg/apache/fop/afp/AFPLineDataInfo;)V
       107: .line 175
            aload 14 /* lineDataInfo */
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getY1:()I
            iconst_3
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getThickness:()I
            imul
            iadd
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setY1:(I)V
       108: .line 176
            aload 14 /* lineDataInfo */
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getY1:()I
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getThickness:()I
            iadd
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setY2:(I)V
       109: .line 173
      StackMap locals:
      StackMap stack:
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getY1:()I
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getThickness:()I
            iadd
            iload 17 /* ey2 */
            if_icmplt 106
        end local 17 // int ey2
       110: .line 179
            goto 143
       111: .line 184
      StackMap locals: org.apache.fop.afp.AFPBorderPainter org.apache.fop.afp.PaintingInfo java.lang.Integer org.apache.fop.afp.BorderPaintingInfo float float int int org.apache.fop.afp.AFPUnitConverter java.awt.geom.AffineTransform float float float float org.apache.fop.afp.AFPLineDataInfo float
      StackMap stack:
            aload 14 /* lineDataInfo */
            fload 12 /* x2 */
            invokestatic java.lang.Math.round:(F)I
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setX2:(I)V
       112: .line 185
            aload 3 /* borderPaintInfo */
            invokevirtual org.apache.fop.afp.BorderPaintingInfo.getStyle:()I
            bipush 55
            if_icmpne 113
            ldc 0.4
            goto 114
      StackMap locals:
      StackMap stack:
       113: ldc -0.4
      StackMap locals:
      StackMap stack: float
       114: fstore 18 /* colFactor */
        start local 18 // float colFactor
       115: .line 186
            fload 13 /* y2 */
            fload 11 /* y1 */
            fsub
            ldc 3.0
            fdiv
            fstore 19 /* h3 */
        start local 19 // float h3
       116: .line 187
            aload 14 /* lineDataInfo */
       117: .line 188
            aload 3 /* borderPaintInfo */
            invokevirtual org.apache.fop.afp.BorderPaintingInfo.getColor:()Ljava/awt/Color;
            fload 18 /* colFactor */
            fneg
            invokestatic org.apache.fop.util.ColorUtil.lightenColor:(Ljava/awt/Color;F)Ljava/awt/Color;
       118: .line 187
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setColor:(Ljava/awt/Color;)V
       119: .line 189
            aload 14 /* lineDataInfo */
            fload 19 /* h3 */
            invokestatic java.lang.Math.round:(F)I
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setThickness:(I)V
       120: .line 190
            fload 11 /* y1 */
            invokestatic java.lang.Math.round:(F)I
            istore 17 /* yNew */
        start local 17 // int yNew
       121: .line 191
            aload 14 /* lineDataInfo */
            iload 17 /* yNew */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setY1:(I)V
       122: .line 192
            aload 14 /* lineDataInfo */
            iload 17 /* yNew */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setY2:(I)V
       123: .line 193
            aload 0 /* this */
            getfield org.apache.fop.afp.AFPBorderPainter.dataStream:Lorg/apache/fop/afp/DataStream;
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.DataStream.createLine:(Lorg/apache/fop/afp/AFPLineDataInfo;)V
       124: .line 194
            aload 14 /* lineDataInfo */
            aload 3 /* borderPaintInfo */
            invokevirtual org.apache.fop.afp.BorderPaintingInfo.getColor:()Ljava/awt/Color;
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setColor:(Ljava/awt/Color;)V
       125: .line 195
            fload 11 /* y1 */
            fload 19 /* h3 */
            fadd
            invokestatic java.lang.Math.round:(F)I
            istore 17 /* yNew */
       126: .line 196
            aload 14 /* lineDataInfo */
            iload 17 /* yNew */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setY1:(I)V
       127: .line 197
            aload 14 /* lineDataInfo */
            iload 17 /* yNew */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setY2:(I)V
       128: .line 198
            aload 0 /* this */
            getfield org.apache.fop.afp.AFPBorderPainter.dataStream:Lorg/apache/fop/afp/DataStream;
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.DataStream.createLine:(Lorg/apache/fop/afp/AFPLineDataInfo;)V
       129: .line 199
            aload 14 /* lineDataInfo */
            aload 3 /* borderPaintInfo */
            invokevirtual org.apache.fop.afp.BorderPaintingInfo.getColor:()Ljava/awt/Color;
            fload 18 /* colFactor */
            invokestatic org.apache.fop.util.ColorUtil.lightenColor:(Ljava/awt/Color;F)Ljava/awt/Color;
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setColor:(Ljava/awt/Color;)V
       130: .line 200
            fload 11 /* y1 */
            fload 19 /* h3 */
            fadd
            fload 19 /* h3 */
            fadd
            invokestatic java.lang.Math.round:(F)I
            istore 17 /* yNew */
       131: .line 201
            aload 14 /* lineDataInfo */
            iload 17 /* yNew */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setY1:(I)V
       132: .line 202
            aload 14 /* lineDataInfo */
            iload 17 /* yNew */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setY2:(I)V
       133: .line 203
            aload 0 /* this */
            getfield org.apache.fop.afp.AFPBorderPainter.dataStream:Lorg/apache/fop/afp/DataStream;
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.DataStream.createLine:(Lorg/apache/fop/afp/AFPLineDataInfo;)V
       134: .line 204
            goto 143
        end local 19 // float h3
        end local 18 // float colFactor
        end local 17 // int yNew
       135: .line 206
      StackMap locals:
      StackMap stack:
            goto 143
       136: .line 211
      StackMap locals:
      StackMap stack:
            aload 3 /* borderPaintInfo */
            invokevirtual org.apache.fop.afp.BorderPaintingInfo.isHorizontal:()Z
            ifeq 140
       137: .line 212
            aload 14 /* lineDataInfo */
            fload 12 /* x2 */
            invokestatic java.lang.Math.round:(F)I
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setX2:(I)V
       138: .line 213
            aload 14 /* lineDataInfo */
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getY1:()I
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setY2:(I)V
       139: .line 214
            goto 142
       140: .line 215
      StackMap locals:
      StackMap stack:
            aload 14 /* lineDataInfo */
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.getX1:()I
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setX2:(I)V
       141: .line 216
            aload 14 /* lineDataInfo */
            fload 13 /* y2 */
            invokestatic java.lang.Math.round:(F)I
            invokevirtual org.apache.fop.afp.AFPLineDataInfo.setY2:(I)V
       142: .line 218
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.fop.afp.AFPBorderPainter.dataStream:Lorg/apache/fop/afp/DataStream;
            aload 14 /* lineDataInfo */
            invokevirtual org.apache.fop.afp.DataStream.createLine:(Lorg/apache/fop/afp/AFPLineDataInfo;)V
       143: .line 220
      StackMap locals:
      StackMap stack:
            return
        end local 15 // float thickness
        end local 14 // org.apache.fop.afp.AFPLineDataInfo lineDataInfo
        end local 13 // float y2
        end local 12 // float x2
        end local 11 // float y1
        end local 10 // float x1
        end local 9 // java.awt.geom.AffineTransform at
        end local 8 // org.apache.fop.afp.AFPUnitConverter unitConv
        end local 7 // int pageHeight
        end local 6 // int pageWidth
        end local 5 // float h
        end local 4 // float w
        end local 3 // org.apache.fop.afp.BorderPaintingInfo borderPaintInfo
        end local 2 // java.lang.Integer bytesAvailable
        end local 1 // org.apache.fop.afp.PaintingInfo paintInfo
        end local 0 // org.apache.fop.afp.AFPBorderPainter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0  144     0             this  Lorg/apache/fop/afp/AFPBorderPainter;
            0  144     1        paintInfo  Lorg/apache/fop/afp/PaintingInfo;
            1  144     2   bytesAvailable  Ljava/lang/Integer;
            4  144     3  borderPaintInfo  Lorg/apache/fop/afp/BorderPaintingInfo;
            5  144     4                w  F
            6  144     5                h  F
           10  144     6        pageWidth  I
           11  144     7       pageHeight  I
           12  144     8         unitConv  Lorg/apache/fop/afp/AFPUnitConverter;
           13  144     9               at  Ljava/awt/geom/AffineTransform;
           14  144    10               x1  F
           15  144    11               y1  F
           16  144    12               x2  F
           17  144    13               y2  F
           38  144    14     lineDataInfo  Lorg/apache/fop/afp/AFPLineDataInfo;
           44   45    15        thickness  F
           46  144    15        thickness  F
           49   69    16       thickness3  I
           55   59    17         distance  I
           64   68    17         distance  I
           71   80    17        dashWidth  I
           74   80    18              ex2  I
           75   80    19       spaceWidth  I
           82   91    17        dashWidth  I
           85   91    18              ey2  I
           86   91    19       spaceWidth  I
           96  101    17              ex2  I
          105  110    17              ey2  I
          121  135    17             yNew  I
          115  135    18        colFactor  F
          116  135    19               h3  F
    MethodParameters:
           Name  Flags
      paintInfo  
}
SourceFile: "AFPBorderPainter.java"
InnerClasses:
  public abstract AbstractData = org.apache.fop.util.AbstractPaintingState$AbstractData of org.apache.fop.util.AbstractPaintingState