public class java.awt.dnd.DragSourceContext implements java.awt.dnd.DragSourceListener, java.awt.dnd.DragSourceMotionListener, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.awt.dnd.DragSourceContext
  super_class: java.lang.Object
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -115407898692194719

  protected static final int DEFAULT;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  protected static final int ENTER;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  protected static final int OVER;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  protected static final int CHANGED;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private static java.awt.datatransfer.Transferable emptyTransferable;
    descriptor: Ljava/awt/datatransfer/Transferable;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private transient java.awt.dnd.peer.DragSourceContextPeer peer;
    descriptor: Ljava/awt/dnd/peer/DragSourceContextPeer;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private java.awt.dnd.DragGestureEvent trigger;
    descriptor: Ljava/awt/dnd/DragGestureEvent;
    flags: (0x0002) ACC_PRIVATE

  private java.awt.Cursor cursor;
    descriptor: Ljava/awt/Cursor;
    flags: (0x0002) ACC_PRIVATE

  private transient java.awt.datatransfer.Transferable transferable;
    descriptor: Ljava/awt/datatransfer/Transferable;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient java.awt.dnd.DragSourceListener listener;
    descriptor: Ljava/awt/dnd/DragSourceListener;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private boolean useCustomCursor;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private int sourceActions;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  public void <init>(java.awt.dnd.peer.DragSourceContextPeer, java.awt.dnd.DragGestureEvent, java.awt.Cursor, java.awt.Image, java.awt.Point, java.awt.datatransfer.Transferable, java.awt.dnd.DragSourceListener);
    descriptor: (Ljava/awt/dnd/peer/DragSourceContextPeer;Ljava/awt/dnd/DragGestureEvent;Ljava/awt/Cursor;Ljava/awt/Image;Ljava/awt/Point;Ljava/awt/datatransfer/Transferable;Ljava/awt/dnd/DragSourceListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=8
        start local 0 // java.awt.dnd.DragSourceContext this
        start local 1 // java.awt.dnd.peer.DragSourceContextPeer dscp
        start local 2 // java.awt.dnd.DragGestureEvent trigger
        start local 3 // java.awt.Cursor dragCursor
        start local 4 // java.awt.Image dragImage
        start local 5 // java.awt.Point offset
        start local 6 // java.awt.datatransfer.Transferable t
        start local 7 // java.awt.dnd.DragSourceListener dsl
         0: .line 182
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 186
            aload 1 /* dscp */
            ifnonnull 3
         2: .line 187
            new java.lang.NullPointerException
            dup
            ldc "DragSourceContextPeer"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 190
      StackMap locals: java.awt.dnd.DragSourceContext java.awt.dnd.peer.DragSourceContextPeer java.awt.dnd.DragGestureEvent java.awt.Cursor java.awt.Image java.awt.Point java.awt.datatransfer.Transferable java.awt.dnd.DragSourceListener
      StackMap stack:
            aload 2 /* trigger */
            ifnonnull 5
         4: .line 191
            new java.lang.NullPointerException
            dup
            ldc "Trigger"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 194
      StackMap locals:
      StackMap stack:
            aload 2 /* trigger */
            invokevirtual java.awt.dnd.DragGestureEvent.getDragSource:()Ljava/awt/dnd/DragSource;
            ifnonnull 7
         6: .line 195
            new java.lang.IllegalArgumentException
            dup
            ldc "DragSource"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 198
      StackMap locals:
      StackMap stack:
            aload 2 /* trigger */
            invokevirtual java.awt.dnd.DragGestureEvent.getComponent:()Ljava/awt/Component;
            ifnonnull 9
         8: .line 199
            new java.lang.IllegalArgumentException
            dup
            ldc "Component"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 202
      StackMap locals:
      StackMap stack:
            aload 2 /* trigger */
            invokevirtual java.awt.dnd.DragGestureEvent.getSourceAsDragGestureRecognizer:()Ljava/awt/dnd/DragGestureRecognizer;
            invokevirtual java.awt.dnd.DragGestureRecognizer.getSourceActions:()I
            ifne 11
        10: .line 204
            new java.lang.IllegalArgumentException
            dup
            ldc "source actions"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 207
      StackMap locals:
      StackMap stack:
            aload 2 /* trigger */
            invokevirtual java.awt.dnd.DragGestureEvent.getDragAction:()I
            ifne 13
        12: .line 208
            new java.lang.IllegalArgumentException
            dup
            ldc "no drag action"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 211
      StackMap locals:
      StackMap stack:
            aload 6 /* t */
            ifnonnull 15
        14: .line 212
            new java.lang.NullPointerException
            dup
            ldc "Transferable"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 215
      StackMap locals:
      StackMap stack:
            aload 4 /* dragImage */
            ifnull 17
            aload 5 /* offset */
            ifnonnull 17
        16: .line 216
            new java.lang.NullPointerException
            dup
            ldc "offset"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 219
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* dscp */
            putfield java.awt.dnd.DragSourceContext.peer:Ljava/awt/dnd/peer/DragSourceContextPeer;
        18: .line 220
            aload 0 /* this */
            aload 2 /* trigger */
            putfield java.awt.dnd.DragSourceContext.trigger:Ljava/awt/dnd/DragGestureEvent;
        19: .line 221
            aload 0 /* this */
            aload 3 /* dragCursor */
            putfield java.awt.dnd.DragSourceContext.cursor:Ljava/awt/Cursor;
        20: .line 222
            aload 0 /* this */
            aload 6 /* t */
            putfield java.awt.dnd.DragSourceContext.transferable:Ljava/awt/datatransfer/Transferable;
        21: .line 223
            aload 0 /* this */
            aload 7 /* dsl */
            putfield java.awt.dnd.DragSourceContext.listener:Ljava/awt/dnd/DragSourceListener;
        22: .line 224
            aload 0 /* this */
        23: .line 225
            aload 2 /* trigger */
            invokevirtual java.awt.dnd.DragGestureEvent.getSourceAsDragGestureRecognizer:()Ljava/awt/dnd/DragGestureRecognizer;
            invokevirtual java.awt.dnd.DragGestureRecognizer.getSourceActions:()I
        24: .line 224
            putfield java.awt.dnd.DragSourceContext.sourceActions:I
        25: .line 227
            aload 0 /* this */
            aload 3 /* dragCursor */
            ifnull 26
            iconst_1
            goto 27
      StackMap locals:
      StackMap stack: java.awt.dnd.DragSourceContext
        26: iconst_0
      StackMap locals: java.awt.dnd.DragSourceContext java.awt.dnd.peer.DragSourceContextPeer java.awt.dnd.DragGestureEvent java.awt.Cursor java.awt.Image java.awt.Point java.awt.datatransfer.Transferable java.awt.dnd.DragSourceListener
      StackMap stack: java.awt.dnd.DragSourceContext int
        27: putfield java.awt.dnd.DragSourceContext.useCustomCursor:Z
        28: .line 229
            aload 0 /* this */
            aload 2 /* trigger */
            invokevirtual java.awt.dnd.DragGestureEvent.getDragAction:()I
            aload 0 /* this */
            invokevirtual java.awt.dnd.DragSourceContext.getSourceActions:()I
            iconst_0
            invokevirtual java.awt.dnd.DragSourceContext.updateCurrentCursor:(III)V
        29: .line 230
            return
        end local 7 // java.awt.dnd.DragSourceListener dsl
        end local 6 // java.awt.datatransfer.Transferable t
        end local 5 // java.awt.Point offset
        end local 4 // java.awt.Image dragImage
        end local 3 // java.awt.Cursor dragCursor
        end local 2 // java.awt.dnd.DragGestureEvent trigger
        end local 1 // java.awt.dnd.peer.DragSourceContextPeer dscp
        end local 0 // java.awt.dnd.DragSourceContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   30     0        this  Ljava/awt/dnd/DragSourceContext;
            0   30     1        dscp  Ljava/awt/dnd/peer/DragSourceContextPeer;
            0   30     2     trigger  Ljava/awt/dnd/DragGestureEvent;
            0   30     3  dragCursor  Ljava/awt/Cursor;
            0   30     4   dragImage  Ljava/awt/Image;
            0   30     5      offset  Ljava/awt/Point;
            0   30     6           t  Ljava/awt/datatransfer/Transferable;
            0   30     7         dsl  Ljava/awt/dnd/DragSourceListener;
    MethodParameters:
            Name  Flags
      dscp        
      trigger     
      dragCursor  
      dragImage   
      offset      
      t           
      dsl         

  public java.awt.dnd.DragSource getDragSource();
    descriptor: ()Ljava/awt/dnd/DragSource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.dnd.DragSourceContext this
         0: .line 240
            aload 0 /* this */
            getfield java.awt.dnd.DragSourceContext.trigger:Ljava/awt/dnd/DragGestureEvent;
            invokevirtual java.awt.dnd.DragGestureEvent.getDragSource:()Ljava/awt/dnd/DragSource;
            areturn
        end local 0 // java.awt.dnd.DragSourceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/dnd/DragSourceContext;

  public java.awt.Component getComponent();
    descriptor: ()Ljava/awt/Component;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.dnd.DragSourceContext this
         0: .line 249
            aload 0 /* this */
            getfield java.awt.dnd.DragSourceContext.trigger:Ljava/awt/dnd/DragGestureEvent;
            invokevirtual java.awt.dnd.DragGestureEvent.getComponent:()Ljava/awt/Component;
            areturn
        end local 0 // java.awt.dnd.DragSourceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/dnd/DragSourceContext;

  public java.awt.dnd.DragGestureEvent getTrigger();
    descriptor: ()Ljava/awt/dnd/DragGestureEvent;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.dnd.DragSourceContext this
         0: .line 258
            aload 0 /* this */
            getfield java.awt.dnd.DragSourceContext.trigger:Ljava/awt/dnd/DragGestureEvent;
            areturn
        end local 0 // java.awt.dnd.DragSourceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/dnd/DragSourceContext;

  public int getSourceActions();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.dnd.DragSourceContext this
         0: .line 268
            aload 0 /* this */
            getfield java.awt.dnd.DragSourceContext.sourceActions:I
            ireturn
        end local 0 // java.awt.dnd.DragSourceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/dnd/DragSourceContext;

  public synchronized void setCursor(java.awt.Cursor);
    descriptor: (Ljava/awt/Cursor;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.awt.dnd.DragSourceContext this
        start local 1 // java.awt.Cursor c
         0: .line 286
            aload 0 /* this */
            aload 1 /* c */
            ifnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: java.awt.dnd.DragSourceContext
         1: iconst_0
      StackMap locals: java.awt.dnd.DragSourceContext java.awt.Cursor
      StackMap stack: java.awt.dnd.DragSourceContext int
         2: putfield java.awt.dnd.DragSourceContext.useCustomCursor:Z
         3: .line 287
            aload 0 /* this */
            aload 1 /* c */
            invokevirtual java.awt.dnd.DragSourceContext.setCursorImpl:(Ljava/awt/Cursor;)V
         4: .line 288
            return
        end local 1 // java.awt.Cursor c
        end local 0 // java.awt.dnd.DragSourceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/awt/dnd/DragSourceContext;
            0    5     1     c  Ljava/awt/Cursor;
    MethodParameters:
      Name  Flags
      c     

  public java.awt.Cursor getCursor();
    descriptor: ()Ljava/awt/Cursor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.dnd.DragSourceContext this
         0: .line 296
            aload 0 /* this */
            getfield java.awt.dnd.DragSourceContext.cursor:Ljava/awt/Cursor;
            areturn
        end local 0 // java.awt.dnd.DragSourceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/dnd/DragSourceContext;

  public synchronized void addDragSourceListener(java.awt.dnd.DragSourceListener);
    descriptor: (Ljava/awt/dnd/DragSourceListener;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.awt.dnd.DragSourceContext this
        start local 1 // java.awt.dnd.DragSourceListener dsl
         0: .line 313
            aload 1 /* dsl */
            ifnonnull 1
            return
         1: .line 315
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* dsl */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 2
            new java.lang.IllegalArgumentException
            dup
            ldc "DragSourceContext may not be its own listener"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 317
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.dnd.DragSourceContext.listener:Ljava/awt/dnd/DragSourceListener;
            ifnull 4
         3: .line 318
            new java.util.TooManyListenersException
            dup
            invokespecial java.util.TooManyListenersException.<init>:()V
            athrow
         4: .line 320
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* dsl */
            putfield java.awt.dnd.DragSourceContext.listener:Ljava/awt/dnd/DragSourceListener;
         5: .line 321
            return
        end local 1 // java.awt.dnd.DragSourceListener dsl
        end local 0 // java.awt.dnd.DragSourceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/awt/dnd/DragSourceContext;
            0    6     1   dsl  Ljava/awt/dnd/DragSourceListener;
    Exceptions:
      throws java.util.TooManyListenersException
    MethodParameters:
      Name  Flags
      dsl   

  public synchronized void removeDragSourceListener(java.awt.dnd.DragSourceListener);
    descriptor: (Ljava/awt/dnd/DragSourceListener;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.awt.dnd.DragSourceContext this
        start local 1 // java.awt.dnd.DragSourceListener dsl
         0: .line 333
            aload 0 /* this */
            getfield java.awt.dnd.DragSourceContext.listener:Ljava/awt/dnd/DragSourceListener;
            ifnull 3
            aload 0 /* this */
            getfield java.awt.dnd.DragSourceContext.listener:Ljava/awt/dnd/DragSourceListener;
            aload 1 /* dsl */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 334
            aload 0 /* this */
            aconst_null
            putfield java.awt.dnd.DragSourceContext.listener:Ljava/awt/dnd/DragSourceListener;
         2: .line 335
            goto 4
         3: .line 336
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         4: .line 337
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.awt.dnd.DragSourceListener dsl
        end local 0 // java.awt.dnd.DragSourceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/awt/dnd/DragSourceContext;
            0    5     1   dsl  Ljava/awt/dnd/DragSourceListener;
    MethodParameters:
      Name  Flags
      dsl   

  public void transferablesFlavorsChanged();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.dnd.DragSourceContext this
         0: .line 345
            aload 0 /* this */
            getfield java.awt.dnd.DragSourceContext.peer:Ljava/awt/dnd/peer/DragSourceContextPeer;
            ifnull 1
            aload 0 /* this */
            getfield java.awt.dnd.DragSourceContext.peer:Ljava/awt/dnd/peer/DragSourceContextPeer;
            invokeinterface java.awt.dnd.peer.DragSourceContextPeer.transferablesFlavorsChanged:()V
         1: .line 346
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.awt.dnd.DragSourceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/awt/dnd/DragSourceContext;

  public void dragEnter(java.awt.dnd.DragSourceDragEvent);
    descriptor: (Ljava/awt/dnd/DragSourceDragEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.awt.dnd.DragSourceContext this
        start local 1 // java.awt.dnd.DragSourceDragEvent dsde
         0: .line 358
            aload 0 /* this */
            getfield java.awt.dnd.DragSourceContext.listener:Ljava/awt/dnd/DragSourceListener;
            astore 2 /* dsl */
        start local 2 // java.awt.dnd.DragSourceListener dsl
         1: .line 359
            aload 2 /* dsl */
            ifnull 3
         2: .line 360
            aload 2 /* dsl */
            aload 1 /* dsde */
            invokeinterface java.awt.dnd.DragSourceListener.dragEnter:(Ljava/awt/dnd/DragSourceDragEvent;)V
         3: .line 362
      StackMap locals: java.awt.dnd.DragSourceListener
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.awt.dnd.DragSourceContext.getDragSource:()Ljava/awt/dnd/DragSource;
            aload 1 /* dsde */
            invokevirtual java.awt.dnd.DragSource.processDragEnter:(Ljava/awt/dnd/DragSourceDragEvent;)V
         4: .line 364
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.awt.dnd.DragSourceContext.getSourceActions:()I
            aload 1 /* dsde */
            invokevirtual java.awt.dnd.DragSourceDragEvent.getTargetActions:()I
            iconst_1
            invokevirtual java.awt.dnd.DragSourceContext.updateCurrentCursor:(III)V
         5: .line 365
            return
        end local 2 // java.awt.dnd.DragSourceListener dsl
        end local 1 // java.awt.dnd.DragSourceDragEvent dsde
        end local 0 // java.awt.dnd.DragSourceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/awt/dnd/DragSourceContext;
            0    6     1  dsde  Ljava/awt/dnd/DragSourceDragEvent;
            1    6     2   dsl  Ljava/awt/dnd/DragSourceListener;
    MethodParameters:
      Name  Flags
      dsde  

  public void dragOver(java.awt.dnd.DragSourceDragEvent);
    descriptor: (Ljava/awt/dnd/DragSourceDragEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.awt.dnd.DragSourceContext this
        start local 1 // java.awt.dnd.DragSourceDragEvent dsde
         0: .line 377
            aload 0 /* this */
            getfield java.awt.dnd.DragSourceContext.listener:Ljava/awt/dnd/DragSourceListener;
            astore 2 /* dsl */
        start local 2 // java.awt.dnd.DragSourceListener dsl
         1: .line 378
            aload 2 /* dsl */
            ifnull 3
         2: .line 379
            aload 2 /* dsl */
            aload 1 /* dsde */
            invokeinterface java.awt.dnd.DragSourceListener.dragOver:(Ljava/awt/dnd/DragSourceDragEvent;)V
         3: .line 381
      StackMap locals: java.awt.dnd.DragSourceListener
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.awt.dnd.DragSourceContext.getDragSource:()Ljava/awt/dnd/DragSource;
            aload 1 /* dsde */
            invokevirtual java.awt.dnd.DragSource.processDragOver:(Ljava/awt/dnd/DragSourceDragEvent;)V
         4: .line 383
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.awt.dnd.DragSourceContext.getSourceActions:()I
            aload 1 /* dsde */
            invokevirtual java.awt.dnd.DragSourceDragEvent.getTargetActions:()I
            iconst_2
            invokevirtual java.awt.dnd.DragSourceContext.updateCurrentCursor:(III)V
         5: .line 384
            return
        end local 2 // java.awt.dnd.DragSourceListener dsl
        end local 1 // java.awt.dnd.DragSourceDragEvent dsde
        end local 0 // java.awt.dnd.DragSourceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/awt/dnd/DragSourceContext;
            0    6     1  dsde  Ljava/awt/dnd/DragSourceDragEvent;
            1    6     2   dsl  Ljava/awt/dnd/DragSourceListener;
    MethodParameters:
      Name  Flags
      dsde  

  public void dragExit(java.awt.dnd.DragSourceEvent);
    descriptor: (Ljava/awt/dnd/DragSourceEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.awt.dnd.DragSourceContext this
        start local 1 // java.awt.dnd.DragSourceEvent dse
         0: .line 396
            aload 0 /* this */
            getfield java.awt.dnd.DragSourceContext.listener:Ljava/awt/dnd/DragSourceListener;
            astore 2 /* dsl */
        start local 2 // java.awt.dnd.DragSourceListener dsl
         1: .line 397
            aload 2 /* dsl */
            ifnull 3
         2: .line 398
            aload 2 /* dsl */
            aload 1 /* dse */
            invokeinterface java.awt.dnd.DragSourceListener.dragExit:(Ljava/awt/dnd/DragSourceEvent;)V
         3: .line 400
      StackMap locals: java.awt.dnd.DragSourceListener
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.awt.dnd.DragSourceContext.getDragSource:()Ljava/awt/dnd/DragSource;
            aload 1 /* dse */
            invokevirtual java.awt.dnd.DragSource.processDragExit:(Ljava/awt/dnd/DragSourceEvent;)V
         4: .line 402
            aload 0 /* this */
            iconst_0
            iconst_0
            iconst_0
            invokevirtual java.awt.dnd.DragSourceContext.updateCurrentCursor:(III)V
         5: .line 403
            return
        end local 2 // java.awt.dnd.DragSourceListener dsl
        end local 1 // java.awt.dnd.DragSourceEvent dse
        end local 0 // java.awt.dnd.DragSourceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/awt/dnd/DragSourceContext;
            0    6     1   dse  Ljava/awt/dnd/DragSourceEvent;
            1    6     2   dsl  Ljava/awt/dnd/DragSourceListener;
    MethodParameters:
      Name  Flags
      dse   

  public void dropActionChanged(java.awt.dnd.DragSourceDragEvent);
    descriptor: (Ljava/awt/dnd/DragSourceDragEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.awt.dnd.DragSourceContext this
        start local 1 // java.awt.dnd.DragSourceDragEvent dsde
         0: .line 415
            aload 0 /* this */
            getfield java.awt.dnd.DragSourceContext.listener:Ljava/awt/dnd/DragSourceListener;
            astore 2 /* dsl */
        start local 2 // java.awt.dnd.DragSourceListener dsl
         1: .line 416
            aload 2 /* dsl */
            ifnull 3
         2: .line 417
            aload 2 /* dsl */
            aload 1 /* dsde */
            invokeinterface java.awt.dnd.DragSourceListener.dropActionChanged:(Ljava/awt/dnd/DragSourceDragEvent;)V
         3: .line 419
      StackMap locals: java.awt.dnd.DragSourceListener
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.awt.dnd.DragSourceContext.getDragSource:()Ljava/awt/dnd/DragSource;
            aload 1 /* dsde */
            invokevirtual java.awt.dnd.DragSource.processDropActionChanged:(Ljava/awt/dnd/DragSourceDragEvent;)V
         4: .line 421
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.awt.dnd.DragSourceContext.getSourceActions:()I
            aload 1 /* dsde */
            invokevirtual java.awt.dnd.DragSourceDragEvent.getTargetActions:()I
            iconst_3
            invokevirtual java.awt.dnd.DragSourceContext.updateCurrentCursor:(III)V
         5: .line 422
            return
        end local 2 // java.awt.dnd.DragSourceListener dsl
        end local 1 // java.awt.dnd.DragSourceDragEvent dsde
        end local 0 // java.awt.dnd.DragSourceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/awt/dnd/DragSourceContext;
            0    6     1  dsde  Ljava/awt/dnd/DragSourceDragEvent;
            1    6     2   dsl  Ljava/awt/dnd/DragSourceListener;
    MethodParameters:
      Name  Flags
      dsde  

  public void dragDropEnd(java.awt.dnd.DragSourceDropEvent);
    descriptor: (Ljava/awt/dnd/DragSourceDropEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.awt.dnd.DragSourceContext this
        start local 1 // java.awt.dnd.DragSourceDropEvent dsde
         0: .line 434
            aload 0 /* this */
            getfield java.awt.dnd.DragSourceContext.listener:Ljava/awt/dnd/DragSourceListener;
            astore 2 /* dsl */
        start local 2 // java.awt.dnd.DragSourceListener dsl
         1: .line 435
            aload 2 /* dsl */
            ifnull 3
         2: .line 436
            aload 2 /* dsl */
            aload 1 /* dsde */
            invokeinterface java.awt.dnd.DragSourceListener.dragDropEnd:(Ljava/awt/dnd/DragSourceDropEvent;)V
         3: .line 438
      StackMap locals: java.awt.dnd.DragSourceListener
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.awt.dnd.DragSourceContext.getDragSource:()Ljava/awt/dnd/DragSource;
            aload 1 /* dsde */
            invokevirtual java.awt.dnd.DragSource.processDragDropEnd:(Ljava/awt/dnd/DragSourceDropEvent;)V
         4: .line 439
            return
        end local 2 // java.awt.dnd.DragSourceListener dsl
        end local 1 // java.awt.dnd.DragSourceDropEvent dsde
        end local 0 // java.awt.dnd.DragSourceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/awt/dnd/DragSourceContext;
            0    5     1  dsde  Ljava/awt/dnd/DragSourceDropEvent;
            1    5     2   dsl  Ljava/awt/dnd/DragSourceListener;
    MethodParameters:
      Name  Flags
      dsde  

  public void dragMouseMoved(java.awt.dnd.DragSourceDragEvent);
    descriptor: (Ljava/awt/dnd/DragSourceDragEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.awt.dnd.DragSourceContext this
        start local 1 // java.awt.dnd.DragSourceDragEvent dsde
         0: .line 452
            aload 0 /* this */
            invokevirtual java.awt.dnd.DragSourceContext.getDragSource:()Ljava/awt/dnd/DragSource;
            aload 1 /* dsde */
            invokevirtual java.awt.dnd.DragSource.processDragMouseMoved:(Ljava/awt/dnd/DragSourceDragEvent;)V
         1: .line 453
            return
        end local 1 // java.awt.dnd.DragSourceDragEvent dsde
        end local 0 // java.awt.dnd.DragSourceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/awt/dnd/DragSourceContext;
            0    2     1  dsde  Ljava/awt/dnd/DragSourceDragEvent;
    MethodParameters:
      Name  Flags
      dsde  

  public java.awt.datatransfer.Transferable getTransferable();
    descriptor: ()Ljava/awt/datatransfer/Transferable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.dnd.DragSourceContext this
         0: .line 461
            aload 0 /* this */
            getfield java.awt.dnd.DragSourceContext.transferable:Ljava/awt/datatransfer/Transferable;
            areturn
        end local 0 // java.awt.dnd.DragSourceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/dnd/DragSourceContext;

  protected synchronized void updateCurrentCursor(int, int, int);
    descriptor: (III)V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=6, args_size=4
        start local 0 // java.awt.dnd.DragSourceContext this
        start local 1 // int sourceAct
        start local 2 // int targetAct
        start local 3 // int status
         0: .line 481
            aload 0 /* this */
            getfield java.awt.dnd.DragSourceContext.useCustomCursor:Z
            ifeq 2
         1: .line 482
            return
         2: .line 487
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* c */
        start local 4 // java.awt.Cursor c
         3: .line 489
            iload 3 /* status */
            tableswitch { // 1 - 3
                    1: 5
                    2: 5
                    3: 5
              default: 4
          }
         4: .line 491
      StackMap locals: java.awt.Cursor
      StackMap stack:
            iconst_0
            istore 2 /* targetAct */
         5: .line 495
      StackMap locals:
      StackMap stack:
            iload 1 /* sourceAct */
            iload 2 /* targetAct */
            iand
            istore 5 /* ra */
        start local 5 // int ra
         6: .line 497
            iload 5 /* ra */
            ifne 13
         7: .line 498
            iload 1 /* sourceAct */
            ldc 1073741824
            iand
            ldc 1073741824
            if_icmpne 9
         8: .line 499
            getstatic java.awt.dnd.DragSource.DefaultLinkNoDrop:Ljava/awt/Cursor;
            astore 4 /* c */
            goto 18
         9: .line 500
      StackMap locals: int
      StackMap stack:
            iload 1 /* sourceAct */
            iconst_2
            iand
            iconst_2
            if_icmpne 11
        10: .line 501
            getstatic java.awt.dnd.DragSource.DefaultMoveNoDrop:Ljava/awt/Cursor;
            astore 4 /* c */
            goto 18
        11: .line 503
      StackMap locals:
      StackMap stack:
            getstatic java.awt.dnd.DragSource.DefaultCopyNoDrop:Ljava/awt/Cursor;
            astore 4 /* c */
        12: .line 504
            goto 18
        13: .line 505
      StackMap locals:
      StackMap stack:
            iload 5 /* ra */
            ldc 1073741824
            iand
            ldc 1073741824
            if_icmpne 15
        14: .line 506
            getstatic java.awt.dnd.DragSource.DefaultLinkDrop:Ljava/awt/Cursor;
            astore 4 /* c */
            goto 18
        15: .line 507
      StackMap locals:
      StackMap stack:
            iload 5 /* ra */
            iconst_2
            iand
            iconst_2
            if_icmpne 17
        16: .line 508
            getstatic java.awt.dnd.DragSource.DefaultMoveDrop:Ljava/awt/Cursor;
            astore 4 /* c */
            goto 18
        17: .line 510
      StackMap locals:
      StackMap stack:
            getstatic java.awt.dnd.DragSource.DefaultCopyDrop:Ljava/awt/Cursor;
            astore 4 /* c */
        end local 5 // int ra
        18: .line 514
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* c */
            invokevirtual java.awt.dnd.DragSourceContext.setCursorImpl:(Ljava/awt/Cursor;)V
        19: .line 515
            return
        end local 4 // java.awt.Cursor c
        end local 3 // int status
        end local 2 // int targetAct
        end local 1 // int sourceAct
        end local 0 // java.awt.dnd.DragSourceContext this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   20     0       this  Ljava/awt/dnd/DragSourceContext;
            0   20     1  sourceAct  I
            0   20     2  targetAct  I
            0   20     3     status  I
            3   20     4          c  Ljava/awt/Cursor;
            6   18     5         ra  I
    MethodParameters:
           Name  Flags
      sourceAct  
      targetAct  
      status     

  private void setCursorImpl(java.awt.Cursor);
    descriptor: (Ljava/awt/Cursor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.awt.dnd.DragSourceContext this
        start local 1 // java.awt.Cursor c
         0: .line 518
            aload 0 /* this */
            getfield java.awt.dnd.DragSourceContext.cursor:Ljava/awt/Cursor;
            ifnull 1
            aload 0 /* this */
            getfield java.awt.dnd.DragSourceContext.cursor:Ljava/awt/Cursor;
            aload 1 /* c */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 3
         1: .line 519
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* c */
            putfield java.awt.dnd.DragSourceContext.cursor:Ljava/awt/Cursor;
         2: .line 520
            aload 0 /* this */
            getfield java.awt.dnd.DragSourceContext.peer:Ljava/awt/dnd/peer/DragSourceContextPeer;
            ifnull 3
            aload 0 /* this */
            getfield java.awt.dnd.DragSourceContext.peer:Ljava/awt/dnd/peer/DragSourceContextPeer;
            aload 0 /* this */
            getfield java.awt.dnd.DragSourceContext.cursor:Ljava/awt/Cursor;
            invokeinterface java.awt.dnd.peer.DragSourceContextPeer.setCursor:(Ljava/awt/Cursor;)V
         3: .line 522
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.awt.Cursor c
        end local 0 // java.awt.dnd.DragSourceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/awt/dnd/DragSourceContext;
            0    4     1     c  Ljava/awt/Cursor;
    MethodParameters:
      Name  Flags
      c     

  private void writeObject(java.io.ObjectOutputStream);
    descriptor: (Ljava/io/ObjectOutputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.awt.dnd.DragSourceContext this
        start local 1 // java.io.ObjectOutputStream s
         0: .line 543
            aload 1 /* s */
            invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
         1: .line 545
            aload 1 /* s */
            aload 0 /* this */
            getfield java.awt.dnd.DragSourceContext.transferable:Ljava/awt/datatransfer/Transferable;
            invokestatic java.awt.dnd.SerializationTester.test:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 546
            aload 0 /* this */
            getfield java.awt.dnd.DragSourceContext.transferable:Ljava/awt/datatransfer/Transferable;
            goto 4
      StackMap locals:
      StackMap stack: java.io.ObjectOutputStream
         3: aconst_null
         4: .line 545
      StackMap locals: java.awt.dnd.DragSourceContext java.io.ObjectOutputStream
      StackMap stack: java.io.ObjectOutputStream java.awt.datatransfer.Transferable
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
         5: .line 547
            aload 1 /* s */
            aload 0 /* this */
            getfield java.awt.dnd.DragSourceContext.listener:Ljava/awt/dnd/DragSourceListener;
            invokestatic java.awt.dnd.SerializationTester.test:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 548
            aload 0 /* this */
            getfield java.awt.dnd.DragSourceContext.listener:Ljava/awt/dnd/DragSourceListener;
            goto 8
      StackMap locals:
      StackMap stack: java.io.ObjectOutputStream
         7: aconst_null
         8: .line 547
      StackMap locals: java.awt.dnd.DragSourceContext java.io.ObjectOutputStream
      StackMap stack: java.io.ObjectOutputStream java.awt.dnd.DragSourceListener
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
         9: .line 549
            return
        end local 1 // java.io.ObjectOutputStream s
        end local 0 // java.awt.dnd.DragSourceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljava/awt/dnd/DragSourceContext;
            0   10     1     s  Ljava/io/ObjectOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      s     

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // java.awt.dnd.DragSourceContext this
        start local 1 // java.io.ObjectInputStream s
         0: .line 566
            aload 1 /* s */
            invokevirtual java.io.ObjectInputStream.readFields:()Ljava/io/ObjectInputStream$GetField;
            astore 2 /* f */
        start local 2 // java.io.ObjectInputStream$GetField f
         1: .line 568
            aload 2 /* f */
            ldc "trigger"
            aconst_null
            invokevirtual java.io.ObjectInputStream$GetField.get:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.awt.dnd.DragGestureEvent
            astore 3 /* newTrigger */
        start local 3 // java.awt.dnd.DragGestureEvent newTrigger
         2: .line 569
            aload 3 /* newTrigger */
            ifnonnull 4
         3: .line 570
            new java.io.InvalidObjectException
            dup
            ldc "Null trigger"
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 572
      StackMap locals: java.io.ObjectInputStream$GetField java.awt.dnd.DragGestureEvent
      StackMap stack:
            aload 3 /* newTrigger */
            invokevirtual java.awt.dnd.DragGestureEvent.getDragSource:()Ljava/awt/dnd/DragSource;
            ifnonnull 6
         5: .line 573
            new java.io.InvalidObjectException
            dup
            ldc "Null DragSource"
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 575
      StackMap locals:
      StackMap stack:
            aload 3 /* newTrigger */
            invokevirtual java.awt.dnd.DragGestureEvent.getComponent:()Ljava/awt/Component;
            ifnonnull 8
         7: .line 576
            new java.io.InvalidObjectException
            dup
            ldc "Null trigger component"
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 579
      StackMap locals:
      StackMap stack:
            aload 2 /* f */
            ldc "sourceActions"
            iconst_0
            invokevirtual java.io.ObjectInputStream$GetField.get:(Ljava/lang/String;I)I
         9: .line 580
            ldc 1073741827
        10: .line 579
            iand
            istore 4 /* newSourceActions */
        start local 4 // int newSourceActions
        11: .line 581
            iload 4 /* newSourceActions */
            ifne 13
        12: .line 582
            new java.io.InvalidObjectException
            dup
            ldc "Invalid source actions"
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 584
      StackMap locals: int
      StackMap stack:
            aload 3 /* newTrigger */
            invokevirtual java.awt.dnd.DragGestureEvent.getDragAction:()I
            istore 5 /* triggerActions */
        start local 5 // int triggerActions
        14: .line 585
            iload 5 /* triggerActions */
            iconst_1
            if_icmpeq 18
        15: .line 586
            iload 5 /* triggerActions */
            iconst_2
            if_icmpeq 18
        16: .line 587
            iload 5 /* triggerActions */
            ldc 1073741824
            if_icmpeq 18
        17: .line 588
            new java.io.InvalidObjectException
            dup
            ldc "No drag action"
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 590
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* newTrigger */
            putfield java.awt.dnd.DragSourceContext.trigger:Ljava/awt/dnd/DragGestureEvent;
        19: .line 592
            aload 0 /* this */
            aload 2 /* f */
            ldc "cursor"
            aconst_null
            invokevirtual java.io.ObjectInputStream$GetField.get:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.awt.Cursor
            putfield java.awt.dnd.DragSourceContext.cursor:Ljava/awt/Cursor;
        20: .line 593
            aload 0 /* this */
            aload 2 /* f */
            ldc "useCustomCursor"
            iconst_0
            invokevirtual java.io.ObjectInputStream$GetField.get:(Ljava/lang/String;Z)Z
            putfield java.awt.dnd.DragSourceContext.useCustomCursor:Z
        21: .line 594
            aload 0 /* this */
            iload 4 /* newSourceActions */
            putfield java.awt.dnd.DragSourceContext.sourceActions:I
        22: .line 596
            aload 0 /* this */
            aload 1 /* s */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            checkcast java.awt.datatransfer.Transferable
            putfield java.awt.dnd.DragSourceContext.transferable:Ljava/awt/datatransfer/Transferable;
        23: .line 597
            aload 0 /* this */
            aload 1 /* s */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            checkcast java.awt.dnd.DragSourceListener
            putfield java.awt.dnd.DragSourceContext.listener:Ljava/awt/dnd/DragSourceListener;
        24: .line 600
            aload 0 /* this */
            getfield java.awt.dnd.DragSourceContext.transferable:Ljava/awt/datatransfer/Transferable;
            ifnonnull 28
        25: .line 601
            getstatic java.awt.dnd.DragSourceContext.emptyTransferable:Ljava/awt/datatransfer/Transferable;
            ifnonnull 27
        26: .line 602
            new java.awt.dnd.DragSourceContext$1
            dup
            aload 0 /* this */
            invokespecial java.awt.dnd.DragSourceContext$1.<init>:(Ljava/awt/dnd/DragSourceContext;)V
            putstatic java.awt.dnd.DragSourceContext.emptyTransferable:Ljava/awt/datatransfer/Transferable;
        27: .line 617
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic java.awt.dnd.DragSourceContext.emptyTransferable:Ljava/awt/datatransfer/Transferable;
            putfield java.awt.dnd.DragSourceContext.transferable:Ljava/awt/datatransfer/Transferable;
        28: .line 619
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int triggerActions
        end local 4 // int newSourceActions
        end local 3 // java.awt.dnd.DragGestureEvent newTrigger
        end local 2 // java.io.ObjectInputStream$GetField f
        end local 1 // java.io.ObjectInputStream s
        end local 0 // java.awt.dnd.DragSourceContext this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   29     0              this  Ljava/awt/dnd/DragSourceContext;
            0   29     1                 s  Ljava/io/ObjectInputStream;
            1   29     2                 f  Ljava/io/ObjectInputStream$GetField;
            2   29     3        newTrigger  Ljava/awt/dnd/DragGestureEvent;
           11   29     4  newSourceActions  I
           14   29     5    triggerActions  I
    Exceptions:
      throws java.lang.ClassNotFoundException, java.io.IOException
    MethodParameters:
      Name  Flags
      s     
}
SourceFile: "DragSourceContext.java"
NestMembers:
  java.awt.dnd.DragSourceContext$1
InnerClasses:
  java.awt.dnd.DragSourceContext$1
  public abstract GetField = java.io.ObjectInputStream$GetField of java.io.ObjectInputStream