public class java.awt.image.FilteredImageSource implements java.awt.image.ImageProducer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.awt.image.FilteredImageSource
  super_class: java.lang.Object
{
  java.awt.image.ImageProducer src;
    descriptor: Ljava/awt/image/ImageProducer;
    flags: (0x0000) 

  java.awt.image.ImageFilter filter;
    descriptor: Ljava/awt/image/ImageFilter;
    flags: (0x0000) 

  private java.util.Hashtable<java.awt.image.ImageConsumer, java.awt.image.ImageFilter> proxies;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Hashtable<Ljava/awt/image/ImageConsumer;Ljava/awt/image/ImageFilter;>;

  public void <init>(java.awt.image.ImageProducer, java.awt.image.ImageFilter);
    descriptor: (Ljava/awt/image/ImageProducer;Ljava/awt/image/ImageFilter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.awt.image.FilteredImageSource this
        start local 1 // java.awt.image.ImageProducer orig
        start local 2 // java.awt.image.ImageFilter imgf
         0: .line 67
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 68
            aload 0 /* this */
            aload 1 /* orig */
            putfield java.awt.image.FilteredImageSource.src:Ljava/awt/image/ImageProducer;
         2: .line 69
            aload 0 /* this */
            aload 2 /* imgf */
            putfield java.awt.image.FilteredImageSource.filter:Ljava/awt/image/ImageFilter;
         3: .line 70
            return
        end local 2 // java.awt.image.ImageFilter imgf
        end local 1 // java.awt.image.ImageProducer orig
        end local 0 // java.awt.image.FilteredImageSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/awt/image/FilteredImageSource;
            0    4     1  orig  Ljava/awt/image/ImageProducer;
            0    4     2  imgf  Ljava/awt/image/ImageFilter;
    MethodParameters:
      Name  Flags
      orig  
      imgf  

  public synchronized void addConsumer(java.awt.image.ImageConsumer);
    descriptor: (Ljava/awt/image/ImageConsumer;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.awt.image.FilteredImageSource this
        start local 1 // java.awt.image.ImageConsumer ic
         0: .line 97
            aload 0 /* this */
            getfield java.awt.image.FilteredImageSource.proxies:Ljava/util/Hashtable;
            ifnonnull 2
         1: .line 98
            aload 0 /* this */
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putfield java.awt.image.FilteredImageSource.proxies:Ljava/util/Hashtable;
         2: .line 100
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.image.FilteredImageSource.proxies:Ljava/util/Hashtable;
            aload 1 /* ic */
            invokevirtual java.util.Hashtable.containsKey:(Ljava/lang/Object;)Z
            ifne 6
         3: .line 101
            aload 0 /* this */
            getfield java.awt.image.FilteredImageSource.filter:Ljava/awt/image/ImageFilter;
            aload 1 /* ic */
            invokevirtual java.awt.image.ImageFilter.getFilterInstance:(Ljava/awt/image/ImageConsumer;)Ljava/awt/image/ImageFilter;
            astore 2 /* imgf */
        start local 2 // java.awt.image.ImageFilter imgf
         4: .line 102
            aload 0 /* this */
            getfield java.awt.image.FilteredImageSource.proxies:Ljava/util/Hashtable;
            aload 1 /* ic */
            aload 2 /* imgf */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 103
            aload 0 /* this */
            getfield java.awt.image.FilteredImageSource.src:Ljava/awt/image/ImageProducer;
            aload 2 /* imgf */
            invokeinterface java.awt.image.ImageProducer.addConsumer:(Ljava/awt/image/ImageConsumer;)V
        end local 2 // java.awt.image.ImageFilter imgf
         6: .line 105
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.awt.image.ImageConsumer ic
        end local 0 // java.awt.image.FilteredImageSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/awt/image/FilteredImageSource;
            0    7     1    ic  Ljava/awt/image/ImageConsumer;
            4    6     2  imgf  Ljava/awt/image/ImageFilter;
    MethodParameters:
      Name  Flags
      ic    

  public synchronized boolean isConsumer(java.awt.image.ImageConsumer);
    descriptor: (Ljava/awt/image/ImageConsumer;)Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.awt.image.FilteredImageSource this
        start local 1 // java.awt.image.ImageConsumer ic
         0: .line 123
            aload 0 /* this */
            getfield java.awt.image.FilteredImageSource.proxies:Ljava/util/Hashtable;
            ifnull 1
            aload 0 /* this */
            getfield java.awt.image.FilteredImageSource.proxies:Ljava/util/Hashtable;
            aload 1 /* ic */
            invokevirtual java.util.Hashtable.containsKey:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.awt.image.ImageConsumer ic
        end local 0 // java.awt.image.FilteredImageSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/awt/image/FilteredImageSource;
            0    2     1    ic  Ljava/awt/image/ImageConsumer;
    MethodParameters:
      Name  Flags
      ic    

  public synchronized void removeConsumer(java.awt.image.ImageConsumer);
    descriptor: (Ljava/awt/image/ImageConsumer;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.awt.image.FilteredImageSource this
        start local 1 // java.awt.image.ImageConsumer ic
         0: .line 140
            aload 0 /* this */
            getfield java.awt.image.FilteredImageSource.proxies:Ljava/util/Hashtable;
            ifnull 7
         1: .line 141
            aload 0 /* this */
            getfield java.awt.image.FilteredImageSource.proxies:Ljava/util/Hashtable;
            aload 1 /* ic */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.awt.image.ImageFilter
            astore 2 /* imgf */
        start local 2 // java.awt.image.ImageFilter imgf
         2: .line 142
            aload 2 /* imgf */
            ifnull 7
         3: .line 143
            aload 0 /* this */
            getfield java.awt.image.FilteredImageSource.src:Ljava/awt/image/ImageProducer;
            aload 2 /* imgf */
            invokeinterface java.awt.image.ImageProducer.removeConsumer:(Ljava/awt/image/ImageConsumer;)V
         4: .line 144
            aload 0 /* this */
            getfield java.awt.image.FilteredImageSource.proxies:Ljava/util/Hashtable;
            aload 1 /* ic */
            invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 145
            aload 0 /* this */
            getfield java.awt.image.FilteredImageSource.proxies:Ljava/util/Hashtable;
            invokevirtual java.util.Hashtable.isEmpty:()Z
            ifeq 7
         6: .line 146
            aload 0 /* this */
            aconst_null
            putfield java.awt.image.FilteredImageSource.proxies:Ljava/util/Hashtable;
        end local 2 // java.awt.image.ImageFilter imgf
         7: .line 150
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.awt.image.ImageConsumer ic
        end local 0 // java.awt.image.FilteredImageSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/awt/image/FilteredImageSource;
            0    8     1    ic  Ljava/awt/image/ImageConsumer;
            2    7     2  imgf  Ljava/awt/image/ImageFilter;
    MethodParameters:
      Name  Flags
      ic    

  public synchronized void startProduction(java.awt.image.ImageConsumer);
    descriptor: (Ljava/awt/image/ImageConsumer;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.awt.image.FilteredImageSource this
        start local 1 // java.awt.image.ImageConsumer ic
         0: .line 176
            aload 0 /* this */
            getfield java.awt.image.FilteredImageSource.proxies:Ljava/util/Hashtable;
            ifnonnull 2
         1: .line 177
            aload 0 /* this */
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putfield java.awt.image.FilteredImageSource.proxies:Ljava/util/Hashtable;
         2: .line 179
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.image.FilteredImageSource.proxies:Ljava/util/Hashtable;
            aload 1 /* ic */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.awt.image.ImageFilter
            astore 2 /* imgf */
        start local 2 // java.awt.image.ImageFilter imgf
         3: .line 180
            aload 2 /* imgf */
            ifnonnull 6
         4: .line 181
            aload 0 /* this */
            getfield java.awt.image.FilteredImageSource.filter:Ljava/awt/image/ImageFilter;
            aload 1 /* ic */
            invokevirtual java.awt.image.ImageFilter.getFilterInstance:(Ljava/awt/image/ImageConsumer;)Ljava/awt/image/ImageFilter;
            astore 2 /* imgf */
         5: .line 182
            aload 0 /* this */
            getfield java.awt.image.FilteredImageSource.proxies:Ljava/util/Hashtable;
            aload 1 /* ic */
            aload 2 /* imgf */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 184
      StackMap locals: java.awt.image.ImageFilter
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.image.FilteredImageSource.src:Ljava/awt/image/ImageProducer;
            aload 2 /* imgf */
            invokeinterface java.awt.image.ImageProducer.startProduction:(Ljava/awt/image/ImageConsumer;)V
         7: .line 185
            return
        end local 2 // java.awt.image.ImageFilter imgf
        end local 1 // java.awt.image.ImageConsumer ic
        end local 0 // java.awt.image.FilteredImageSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/awt/image/FilteredImageSource;
            0    8     1    ic  Ljava/awt/image/ImageConsumer;
            3    8     2  imgf  Ljava/awt/image/ImageFilter;
    MethodParameters:
      Name  Flags
      ic    

  public synchronized void requestTopDownLeftRightResend(java.awt.image.ImageConsumer);
    descriptor: (Ljava/awt/image/ImageConsumer;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.awt.image.FilteredImageSource this
        start local 1 // java.awt.image.ImageConsumer ic
         0: .line 203
            aload 0 /* this */
            getfield java.awt.image.FilteredImageSource.proxies:Ljava/util/Hashtable;
            ifnull 4
         1: .line 204
            aload 0 /* this */
            getfield java.awt.image.FilteredImageSource.proxies:Ljava/util/Hashtable;
            aload 1 /* ic */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.awt.image.ImageFilter
            astore 2 /* imgf */
        start local 2 // java.awt.image.ImageFilter imgf
         2: .line 205
            aload 2 /* imgf */
            ifnull 4
         3: .line 206
            aload 2 /* imgf */
            aload 0 /* this */
            getfield java.awt.image.FilteredImageSource.src:Ljava/awt/image/ImageProducer;
            invokevirtual java.awt.image.ImageFilter.resendTopDownLeftRight:(Ljava/awt/image/ImageProducer;)V
        end local 2 // java.awt.image.ImageFilter imgf
         4: .line 209
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.awt.image.ImageConsumer ic
        end local 0 // java.awt.image.FilteredImageSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/awt/image/FilteredImageSource;
            0    5     1    ic  Ljava/awt/image/ImageConsumer;
            2    4     2  imgf  Ljava/awt/image/ImageFilter;
    MethodParameters:
      Name  Flags
      ic    
}
SourceFile: "FilteredImageSource.java"