class javax.swing.TransferHandler$TransferAction extends sun.swing.UIAction implements javax.swing.plaf.UIResource
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javax.swing.TransferHandler$TransferAction
  super_class: sun.swing.UIAction
{
  private static final sun.misc.JavaSecurityAccess javaSecurityAccess;
    descriptor: Lsun/misc/JavaSecurityAccess;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 1654
            invokestatic sun.misc.SharedSecrets.getJavaSecurityAccess:()Lsun/misc/JavaSecurityAccess;
         1: .line 1653
            putstatic javax.swing.TransferHandler$TransferAction.javaSecurityAccess:Lsun/misc/JavaSecurityAccess;
         2: .line 1738
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic javax.swing.TransferHandler$TransferAction.SandboxClipboardKey:Ljava/lang/Object;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.TransferHandler$TransferAction this
        start local 1 // java.lang.String name
         0: .line 1641
            aload 0 /* this */
            aload 1 /* name */
            invokespecial sun.swing.UIAction.<init>:(Ljava/lang/String;)V
         1: .line 1642
            return
        end local 1 // java.lang.String name
        end local 0 // javax.swing.TransferHandler$TransferAction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/swing/TransferHandler$TransferAction;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public boolean isEnabled(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.swing.TransferHandler$TransferAction this
        start local 1 // java.lang.Object sender
         0: .line 1645
            aload 1 /* sender */
            instanceof javax.swing.JComponent
            ifeq 3
         1: .line 1646
            aload 1 /* sender */
            checkcast javax.swing.JComponent
            invokevirtual javax.swing.JComponent.getTransferHandler:()Ljavax/swing/TransferHandler;
            ifnonnull 3
         2: .line 1647
            iconst_0
            ireturn
         3: .line 1650
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // java.lang.Object sender
        end local 0 // javax.swing.TransferHandler$TransferAction this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Ljavax/swing/TransferHandler$TransferAction;
            0    4     1  sender  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      sender  

  public void actionPerformed(java.awt.event.ActionEvent);
    descriptor: (Ljava/awt/event/ActionEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // javax.swing.TransferHandler$TransferAction this
        start local 1 // java.awt.event.ActionEvent e
         0: .line 1657
            aload 1 /* e */
            invokevirtual java.awt.event.ActionEvent.getSource:()Ljava/lang/Object;
            astore 2 /* src */
        start local 2 // java.lang.Object src
         1: .line 1659
            new javax.swing.TransferHandler$TransferAction$1
            dup
            aload 0 /* this */
            aload 1 /* e */
            invokespecial javax.swing.TransferHandler$TransferAction$1.<init>:(Ljavax/swing/TransferHandler$TransferAction;Ljava/awt/event/ActionEvent;)V
            astore 3 /* action */
        start local 3 // java.security.PrivilegedAction action
         2: .line 1666
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
            astore 4 /* stack */
        start local 4 // java.security.AccessControlContext stack
         3: .line 1667
            invokestatic sun.awt.AWTAccessor.getComponentAccessor:()Lsun/awt/AWTAccessor$ComponentAccessor;
            aload 2 /* src */
            checkcast java.awt.Component
            invokeinterface sun.awt.AWTAccessor$ComponentAccessor.getAccessControlContext:(Ljava/awt/Component;)Ljava/security/AccessControlContext;
            astore 5 /* srcAcc */
        start local 5 // java.security.AccessControlContext srcAcc
         4: .line 1668
            invokestatic sun.awt.AWTAccessor.getAWTEventAccessor:()Lsun/awt/AWTAccessor$AWTEventAccessor;
            aload 1 /* e */
            invokeinterface sun.awt.AWTAccessor$AWTEventAccessor.getAccessControlContext:(Ljava/awt/AWTEvent;)Ljava/security/AccessControlContext;
            astore 6 /* eventAcc */
        start local 6 // java.security.AccessControlContext eventAcc
         5: .line 1670
            aload 5 /* srcAcc */
            ifnonnull 8
         6: .line 1671
            getstatic javax.swing.TransferHandler$TransferAction.javaSecurityAccess:Lsun/misc/JavaSecurityAccess;
            aload 3 /* action */
            aload 4 /* stack */
            aload 6 /* eventAcc */
            invokeinterface sun.misc.JavaSecurityAccess.doIntersectionPrivilege:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;Ljava/security/AccessControlContext;)Ljava/lang/Object;
            pop
         7: .line 1672
            goto 12
         8: .line 1673
      StackMap locals: javax.swing.TransferHandler$TransferAction java.awt.event.ActionEvent java.lang.Object java.security.PrivilegedAction java.security.AccessControlContext java.security.AccessControlContext java.security.AccessControlContext
      StackMap stack:
            getstatic javax.swing.TransferHandler$TransferAction.javaSecurityAccess:Lsun/misc/JavaSecurityAccess;
         9: .line 1674
            new javax.swing.TransferHandler$TransferAction$2
            dup
            aload 0 /* this */
            aload 3 /* action */
            aload 6 /* eventAcc */
            invokespecial javax.swing.TransferHandler$TransferAction$2.<init>:(Ljavax/swing/TransferHandler$TransferAction;Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)V
        10: .line 1679
            aload 4 /* stack */
            aload 5 /* srcAcc */
        11: .line 1673
            invokeinterface sun.misc.JavaSecurityAccess.doIntersectionPrivilege:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;Ljava/security/AccessControlContext;)Ljava/lang/Object;
            pop
        12: .line 1681
      StackMap locals:
      StackMap stack:
            return
        end local 6 // java.security.AccessControlContext eventAcc
        end local 5 // java.security.AccessControlContext srcAcc
        end local 4 // java.security.AccessControlContext stack
        end local 3 // java.security.PrivilegedAction action
        end local 2 // java.lang.Object src
        end local 1 // java.awt.event.ActionEvent e
        end local 0 // javax.swing.TransferHandler$TransferAction this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Ljavax/swing/TransferHandler$TransferAction;
            0   13     1         e  Ljava/awt/event/ActionEvent;
            1   13     2       src  Ljava/lang/Object;
            2   13     3    action  Ljava/security/PrivilegedAction<Ljava/lang/Void;>;
            3   13     4     stack  Ljava/security/AccessControlContext;
            4   13     5    srcAcc  Ljava/security/AccessControlContext;
            5   13     6  eventAcc  Ljava/security/AccessControlContext;
    MethodParameters:
      Name  Flags
      e     final

  private void actionPerformedImpl(java.awt.event.ActionEvent);
    descriptor: (Ljava/awt/event/ActionEvent;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // javax.swing.TransferHandler$TransferAction this
        start local 1 // java.awt.event.ActionEvent e
         0: .line 1684
            aload 1 /* e */
            invokevirtual java.awt.event.ActionEvent.getSource:()Ljava/lang/Object;
            astore 2 /* src */
        start local 2 // java.lang.Object src
         1: .line 1685
            aload 2 /* src */
            instanceof javax.swing.JComponent
            ifeq 22
         2: .line 1686
            aload 2 /* src */
            checkcast javax.swing.JComponent
            astore 3 /* c */
        start local 3 // javax.swing.JComponent c
         3: .line 1687
            aload 3 /* c */
            invokevirtual javax.swing.JComponent.getTransferHandler:()Ljavax/swing/TransferHandler;
            astore 4 /* th */
        start local 4 // javax.swing.TransferHandler th
         4: .line 1688
            aload 0 /* this */
            aload 3 /* c */
            invokevirtual javax.swing.TransferHandler$TransferAction.getClipboard:(Ljavax/swing/JComponent;)Ljava/awt/datatransfer/Clipboard;
            astore 5 /* clipboard */
        start local 5 // java.awt.datatransfer.Clipboard clipboard
         5: .line 1689
            aload 0 /* this */
            ldc "Name"
            invokevirtual javax.swing.TransferHandler$TransferAction.getValue:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* name */
        start local 6 // java.lang.String name
         6: .line 1691
            aconst_null
            astore 7 /* trans */
        start local 7 // java.awt.datatransfer.Transferable trans
         7: .line 1695
            aload 5 /* clipboard */
            ifnull 20
            aload 4 /* th */
            ifnull 20
            aload 6 /* name */
            ifnull 20
         8: .line 1696
            ldc "cut"
            aload 6 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
         9: .line 1697
            aload 4 /* th */
            aload 3 /* c */
            aload 5 /* clipboard */
            iconst_2
            invokevirtual javax.swing.TransferHandler.exportToClipboard:(Ljavax/swing/JComponent;Ljava/awt/datatransfer/Clipboard;I)V
        10: .line 1698
            goto 20
      StackMap locals: javax.swing.TransferHandler$TransferAction java.awt.event.ActionEvent java.lang.Object javax.swing.JComponent javax.swing.TransferHandler java.awt.datatransfer.Clipboard java.lang.String java.awt.datatransfer.Transferable
      StackMap stack:
        11: ldc "copy"
            aload 6 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        12: .line 1699
            aload 4 /* th */
            aload 3 /* c */
            aload 5 /* clipboard */
            iconst_1
            invokevirtual javax.swing.TransferHandler.exportToClipboard:(Ljavax/swing/JComponent;Ljava/awt/datatransfer/Clipboard;I)V
        13: .line 1700
            goto 20
      StackMap locals:
      StackMap stack:
        14: ldc "paste"
            aload 6 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
        15: .line 1701
            aload 5 /* clipboard */
            aconst_null
            invokevirtual java.awt.datatransfer.Clipboard.getContents:(Ljava/lang/Object;)Ljava/awt/datatransfer/Transferable;
            astore 7 /* trans */
        16: .line 1704
            goto 20
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
        17: pop
        18: .line 1706
            invokestatic javax.swing.UIManager.getLookAndFeel:()Ljavax/swing/LookAndFeel;
            aload 3 /* c */
            invokevirtual javax.swing.LookAndFeel.provideErrorFeedback:(Ljava/awt/Component;)V
        19: .line 1707
            return
        20: .line 1711
      StackMap locals:
      StackMap stack:
            aload 7 /* trans */
            ifnull 22
        21: .line 1712
            aload 4 /* th */
            new javax.swing.TransferHandler$TransferSupport
            dup
            aload 3 /* c */
            aload 7 /* trans */
            invokespecial javax.swing.TransferHandler$TransferSupport.<init>:(Ljava/awt/Component;Ljava/awt/datatransfer/Transferable;)V
            invokevirtual javax.swing.TransferHandler.importData:(Ljavax/swing/TransferHandler$TransferSupport;)Z
            pop
        end local 7 // java.awt.datatransfer.Transferable trans
        end local 6 // java.lang.String name
        end local 5 // java.awt.datatransfer.Clipboard clipboard
        end local 4 // javax.swing.TransferHandler th
        end local 3 // javax.swing.JComponent c
        22: .line 1715
      StackMap locals: javax.swing.TransferHandler$TransferAction java.awt.event.ActionEvent java.lang.Object
      StackMap stack:
            return
        end local 2 // java.lang.Object src
        end local 1 // java.awt.event.ActionEvent e
        end local 0 // javax.swing.TransferHandler$TransferAction this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   23     0       this  Ljavax/swing/TransferHandler$TransferAction;
            0   23     1          e  Ljava/awt/event/ActionEvent;
            1   23     2        src  Ljava/lang/Object;
            3   22     3          c  Ljavax/swing/JComponent;
            4   22     4         th  Ljavax/swing/TransferHandler;
            5   22     5  clipboard  Ljava/awt/datatransfer/Clipboard;
            6   22     6       name  Ljava/lang/String;
            7   22     7      trans  Ljava/awt/datatransfer/Transferable;
      Exception table:
        from    to  target  type
           7    16      17  Class java.lang.IllegalStateException
    MethodParameters:
      Name  Flags
      e     

  private java.awt.datatransfer.Clipboard getClipboard(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)Ljava/awt/datatransfer/Clipboard;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // javax.swing.TransferHandler$TransferAction this
        start local 1 // javax.swing.JComponent c
         0: .line 1721
            invokestatic sun.swing.SwingUtilities2.canAccessSystemClipboard:()Z
            ifeq 2
         1: .line 1722
            aload 1 /* c */
            invokevirtual javax.swing.JComponent.getToolkit:()Ljava/awt/Toolkit;
            invokevirtual java.awt.Toolkit.getSystemClipboard:()Ljava/awt/datatransfer/Clipboard;
            areturn
         2: .line 1724
      StackMap locals:
      StackMap stack:
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
         3: .line 1725
            getstatic javax.swing.TransferHandler$TransferAction.SandboxClipboardKey:Ljava/lang/Object;
            invokevirtual sun.awt.AppContext.get:(Ljava/lang/Object;)Ljava/lang/Object;
         4: .line 1724
            checkcast java.awt.datatransfer.Clipboard
            astore 2 /* clipboard */
        start local 2 // java.awt.datatransfer.Clipboard clipboard
         5: .line 1726
            aload 2 /* clipboard */
            ifnonnull 10
         6: .line 1727
            new java.awt.datatransfer.Clipboard
            dup
            ldc "Sandboxed Component Clipboard"
            invokespecial java.awt.datatransfer.Clipboard.<init>:(Ljava/lang/String;)V
            astore 2 /* clipboard */
         7: .line 1728
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            getstatic javax.swing.TransferHandler$TransferAction.SandboxClipboardKey:Ljava/lang/Object;
         8: .line 1729
            aload 2 /* clipboard */
         9: .line 1728
            invokevirtual sun.awt.AppContext.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 1731
      StackMap locals: java.awt.datatransfer.Clipboard
      StackMap stack:
            aload 2 /* clipboard */
            areturn
        end local 2 // java.awt.datatransfer.Clipboard clipboard
        end local 1 // javax.swing.JComponent c
        end local 0 // javax.swing.TransferHandler$TransferAction this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Ljavax/swing/TransferHandler$TransferAction;
            0   11     1          c  Ljavax/swing/JComponent;
            5   11     2  clipboard  Ljava/awt/datatransfer/Clipboard;
    MethodParameters:
      Name  Flags
      c     
}
SourceFile: "TransferHandler.java"
NestHost: javax.swing.TransferHandler
InnerClasses:
  TransferAction = javax.swing.TransferHandler$TransferAction of javax.swing.TransferHandler
  javax.swing.TransferHandler$TransferAction$1
  javax.swing.TransferHandler$TransferAction$2
  public final TransferSupport = javax.swing.TransferHandler$TransferSupport of javax.swing.TransferHandler
  public abstract AWTEventAccessor = sun.awt.AWTAccessor$AWTEventAccessor of sun.awt.AWTAccessor
  public abstract ComponentAccessor = sun.awt.AWTAccessor$ComponentAccessor of sun.awt.AWTAccessor