public class javax.swing.plaf.metal.MetalToolBarUI extends javax.swing.plaf.basic.BasicToolBarUI
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javax.swing.plaf.metal.MetalToolBarUI
  super_class: javax.swing.plaf.basic.BasicToolBarUI
{
  private static java.util.List<java.lang.ref.WeakReference<javax.swing.JComponent>> components;
    descriptor: Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/List<Ljava/lang/ref/WeakReference<Ljavax/swing/JComponent;>;>;

  protected java.awt.event.ContainerListener contListener;
    descriptor: Ljava/awt/event/ContainerListener;
    flags: (0x0004) ACC_PROTECTED

  protected java.beans.PropertyChangeListener rolloverListener;
    descriptor: Ljava/beans/PropertyChangeListener;
    flags: (0x0004) ACC_PROTECTED

  private static javax.swing.border.Border nonRolloverBorder;
    descriptor: Ljavax/swing/border/Border;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private javax.swing.JMenuBar lastMenuBar;
    descriptor: Ljavax/swing/JMenuBar;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 64
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putstatic javax.swing.plaf.metal.MetalToolBarUI.components:Ljava/util/List;
         1: .line 82
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.plaf.metal.MetalToolBarUI this
         0: .line 57
            aload 0 /* this */
            invokespecial javax.swing.plaf.basic.BasicToolBarUI.<init>:()V
            return
        end local 0 // javax.swing.plaf.metal.MetalToolBarUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/plaf/metal/MetalToolBarUI;

  static synchronized void register(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)V
    flags: (0x0028) ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // javax.swing.JComponent c
         0: .line 93
            aload 0 /* c */
            ifnonnull 2
         1: .line 96
            new java.lang.NullPointerException
            dup
            ldc "JComponent must be non-null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 98
      StackMap locals:
      StackMap stack:
            getstatic javax.swing.plaf.metal.MetalToolBarUI.components:Ljava/util/List;
            new java.lang.ref.WeakReference
            dup
            aload 0 /* c */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 99
            return
        end local 0 // javax.swing.JComponent c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     c  Ljavax/swing/JComponent;
    MethodParameters:
      Name  Flags
      c     

  static synchronized void unregister(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)V
    flags: (0x0028) ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // javax.swing.JComponent c
         0: .line 105
            getstatic javax.swing.plaf.metal.MetalToolBarUI.components:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            istore 1 /* counter */
        start local 1 // int counter
         1: goto 6
         2: .line 108
      StackMap locals: int
      StackMap stack:
            getstatic javax.swing.plaf.metal.MetalToolBarUI.components:Ljava/util/List;
            iload 1 /* counter */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.ref.WeakReference
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast javax.swing.JComponent
            astore 2 /* target */
        start local 2 // javax.swing.JComponent target
         3: .line 110
            aload 2 /* target */
            aload 0 /* c */
            if_acmpeq 4
            aload 2 /* target */
            ifnonnull 5
         4: .line 111
      StackMap locals: javax.swing.JComponent
      StackMap stack:
            getstatic javax.swing.plaf.metal.MetalToolBarUI.components:Ljava/util/List;
            iload 1 /* counter */
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            pop
        end local 2 // javax.swing.JComponent target
         5: .line 105
      StackMap locals:
      StackMap stack:
            iinc 1 /* counter */ -1
      StackMap locals:
      StackMap stack:
         6: iload 1 /* counter */
            ifge 2
        end local 1 // int counter
         7: .line 114
            return
        end local 0 // javax.swing.JComponent c
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0        c  Ljavax/swing/JComponent;
            1    7     1  counter  I
            3    5     2   target  Ljavax/swing/JComponent;
    MethodParameters:
      Name  Flags
      c     

  static synchronized java.lang.Object findRegisteredComponentOfType(javax.swing.JComponent, java.lang.Class);
    descriptor: (Ljavax/swing/JComponent;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0028) ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // javax.swing.JComponent from
        start local 1 // java.lang.Class target
         0: .line 122
            aload 0 /* from */
            invokestatic javax.swing.SwingUtilities.getRootPane:(Ljava/awt/Component;)Ljavax/swing/JRootPane;
            astore 2 /* rp */
        start local 2 // javax.swing.JRootPane rp
         1: .line 123
            aload 2 /* rp */
            ifnull 16
         2: .line 124
            getstatic javax.swing.plaf.metal.MetalToolBarUI.components:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            istore 3 /* counter */
        start local 3 // int counter
         3: goto 15
         4: .line 125
      StackMap locals: javax.swing.JRootPane int
      StackMap stack:
            getstatic javax.swing.plaf.metal.MetalToolBarUI.components:Ljava/util/List;
            iload 3 /* counter */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.ref.WeakReference
         5: .line 126
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
         6: .line 125
            astore 4 /* component */
        start local 4 // java.lang.Object component
         7: .line 128
            aload 4 /* component */
            ifnonnull 10
         8: .line 130
            getstatic javax.swing.plaf.metal.MetalToolBarUI.components:Ljava/util/List;
            iload 3 /* counter */
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            pop
         9: .line 131
            goto 14
        10: .line 132
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* target */
            aload 4 /* component */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 14
        11: .line 133
            aload 4 /* component */
            checkcast java.awt.Component
            invokestatic javax.swing.SwingUtilities.getRootPane:(Ljava/awt/Component;)Ljavax/swing/JRootPane;
            aload 2 /* rp */
        12: .line 132
            if_acmpne 14
        13: .line 134
            aload 4 /* component */
            areturn
        end local 4 // java.lang.Object component
        14: .line 124
      StackMap locals:
      StackMap stack:
            iinc 3 /* counter */ -1
      StackMap locals:
      StackMap stack:
        15: iload 3 /* counter */
            ifge 4
        end local 3 // int counter
        16: .line 138
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // javax.swing.JRootPane rp
        end local 1 // java.lang.Class target
        end local 0 // javax.swing.JComponent from
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       from  Ljavax/swing/JComponent;
            0   17     1     target  Ljava/lang/Class;
            1   17     2         rp  Ljavax/swing/JRootPane;
            3   16     3    counter  I
            7   14     4  component  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      from    
      target  

  static boolean doesMenuBarBorderToolBar(javax.swing.JMenuBar);
    descriptor: (Ljavax/swing/JMenuBar;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // javax.swing.JMenuBar c
         0: .line 147
            aload 0 /* c */
            ldc Ljavax/swing/JToolBar;
            invokestatic javax.swing.plaf.metal.MetalToolBarUI.findRegisteredComponentOfType:(Ljavax/swing/JComponent;Ljava/lang/Class;)Ljava/lang/Object;
         1: .line 146
            checkcast javax.swing.JToolBar
            astore 1 /* tb */
        start local 1 // javax.swing.JToolBar tb
         2: .line 148
            aload 1 /* tb */
            ifnull 14
            aload 1 /* tb */
            invokevirtual javax.swing.JToolBar.getOrientation:()I
            ifne 14
         3: .line 149
            aload 0 /* c */
            invokestatic javax.swing.SwingUtilities.getRootPane:(Ljava/awt/Component;)Ljavax/swing/JRootPane;
            astore 2 /* rp */
        start local 2 // javax.swing.JRootPane rp
         4: .line 150
            new java.awt.Point
            dup
            iconst_0
            iconst_0
            invokespecial java.awt.Point.<init>:(II)V
            astore 3 /* point */
        start local 3 // java.awt.Point point
         5: .line 151
            aload 0 /* c */
            aload 3 /* point */
            aload 2 /* rp */
            invokestatic javax.swing.SwingUtilities.convertPoint:(Ljava/awt/Component;Ljava/awt/Point;Ljava/awt/Component;)Ljava/awt/Point;
            astore 3 /* point */
         6: .line 152
            aload 3 /* point */
            getfield java.awt.Point.x:I
            istore 4 /* menuX */
        start local 4 // int menuX
         7: .line 153
            aload 3 /* point */
            getfield java.awt.Point.y:I
            istore 5 /* menuY */
        start local 5 // int menuY
         8: .line 154
            aload 3 /* point */
            aload 3 /* point */
            iconst_0
            dup_x1
            putfield java.awt.Point.y:I
            putfield java.awt.Point.x:I
         9: .line 155
            aload 1 /* tb */
            aload 3 /* point */
            aload 2 /* rp */
            invokestatic javax.swing.SwingUtilities.convertPoint:(Ljava/awt/Component;Ljava/awt/Point;Ljava/awt/Component;)Ljava/awt/Point;
            astore 3 /* point */
        10: .line 156
            aload 3 /* point */
            getfield java.awt.Point.x:I
            iload 4 /* menuX */
            if_icmpne 13
            iload 5 /* menuY */
            aload 0 /* c */
            invokevirtual javax.swing.JMenuBar.getHeight:()I
            iadd
            aload 3 /* point */
            getfield java.awt.Point.y:I
            if_icmpne 13
        11: .line 157
            aload 0 /* c */
            invokevirtual javax.swing.JMenuBar.getWidth:()I
            aload 1 /* tb */
            invokevirtual javax.swing.JToolBar.getWidth:()I
            if_icmpne 13
        12: .line 156
            iconst_1
            ireturn
      StackMap locals: javax.swing.JMenuBar javax.swing.JToolBar javax.swing.JRootPane java.awt.Point int int
      StackMap stack:
        13: iconst_0
            ireturn
        end local 5 // int menuY
        end local 4 // int menuX
        end local 3 // java.awt.Point point
        end local 2 // javax.swing.JRootPane rp
        14: .line 159
      StackMap locals: javax.swing.JMenuBar javax.swing.JToolBar
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // javax.swing.JToolBar tb
        end local 0 // javax.swing.JMenuBar c
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0      c  Ljavax/swing/JMenuBar;
            2   15     1     tb  Ljavax/swing/JToolBar;
            4   14     2     rp  Ljavax/swing/JRootPane;
            5   14     3  point  Ljava/awt/Point;
            7   14     4  menuX  I
            8   14     5  menuY  I
    MethodParameters:
      Name  Flags
      c     

  public static javax.swing.plaf.ComponentUI createUI(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)Ljavax/swing/plaf/ComponentUI;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.JComponent c
         0: .line 164
            new javax.swing.plaf.metal.MetalToolBarUI
            dup
            invokespecial javax.swing.plaf.metal.MetalToolBarUI.<init>:()V
            areturn
        end local 0 // javax.swing.JComponent c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Ljavax/swing/JComponent;
    MethodParameters:
      Name  Flags
      c     

  public void installUI(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.plaf.metal.MetalToolBarUI this
        start local 1 // javax.swing.JComponent c
         0: .line 169
            aload 0 /* this */
            aload 1 /* c */
            invokespecial javax.swing.plaf.basic.BasicToolBarUI.installUI:(Ljavax/swing/JComponent;)V
         1: .line 170
            aload 1 /* c */
            invokestatic javax.swing.plaf.metal.MetalToolBarUI.register:(Ljavax/swing/JComponent;)V
         2: .line 171
            return
        end local 1 // javax.swing.JComponent c
        end local 0 // javax.swing.plaf.metal.MetalToolBarUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/swing/plaf/metal/MetalToolBarUI;
            0    3     1     c  Ljavax/swing/JComponent;
    MethodParameters:
      Name  Flags
      c     

  public void uninstallUI(javax.swing.JComponent);
    descriptor: (Ljavax/swing/JComponent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.plaf.metal.MetalToolBarUI this
        start local 1 // javax.swing.JComponent c
         0: .line 175
            aload 0 /* this */
            aload 1 /* c */
            invokespecial javax.swing.plaf.basic.BasicToolBarUI.uninstallUI:(Ljavax/swing/JComponent;)V
         1: .line 176
            aconst_null
            putstatic javax.swing.plaf.metal.MetalToolBarUI.nonRolloverBorder:Ljavax/swing/border/Border;
         2: .line 177
            aload 1 /* c */
            invokestatic javax.swing.plaf.metal.MetalToolBarUI.unregister:(Ljavax/swing/JComponent;)V
         3: .line 178
            return
        end local 1 // javax.swing.JComponent c
        end local 0 // javax.swing.plaf.metal.MetalToolBarUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/swing/plaf/metal/MetalToolBarUI;
            0    4     1     c  Ljavax/swing/JComponent;
    MethodParameters:
      Name  Flags
      c     

  protected void installListeners();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.plaf.metal.MetalToolBarUI this
         0: .line 181
            aload 0 /* this */
            invokespecial javax.swing.plaf.basic.BasicToolBarUI.installListeners:()V
         1: .line 183
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual javax.swing.plaf.metal.MetalToolBarUI.createContainerListener:()Ljava/awt/event/ContainerListener;
            putfield javax.swing.plaf.metal.MetalToolBarUI.contListener:Ljava/awt/event/ContainerListener;
         2: .line 184
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalToolBarUI.contListener:Ljava/awt/event/ContainerListener;
            ifnull 4
         3: .line 185
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalToolBarUI.toolBar:Ljavax/swing/JToolBar;
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalToolBarUI.contListener:Ljava/awt/event/ContainerListener;
            invokevirtual javax.swing.JToolBar.addContainerListener:(Ljava/awt/event/ContainerListener;)V
         4: .line 187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual javax.swing.plaf.metal.MetalToolBarUI.createRolloverListener:()Ljava/beans/PropertyChangeListener;
            putfield javax.swing.plaf.metal.MetalToolBarUI.rolloverListener:Ljava/beans/PropertyChangeListener;
         5: .line 188
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalToolBarUI.rolloverListener:Ljava/beans/PropertyChangeListener;
            ifnull 7
         6: .line 189
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalToolBarUI.toolBar:Ljavax/swing/JToolBar;
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalToolBarUI.rolloverListener:Ljava/beans/PropertyChangeListener;
            invokevirtual javax.swing.JToolBar.addPropertyChangeListener:(Ljava/beans/PropertyChangeListener;)V
         7: .line 191
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.swing.plaf.metal.MetalToolBarUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljavax/swing/plaf/metal/MetalToolBarUI;

  protected void uninstallListeners();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.plaf.metal.MetalToolBarUI this
         0: .line 194
            aload 0 /* this */
            invokespecial javax.swing.plaf.basic.BasicToolBarUI.uninstallListeners:()V
         1: .line 196
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalToolBarUI.contListener:Ljava/awt/event/ContainerListener;
            ifnull 3
         2: .line 197
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalToolBarUI.toolBar:Ljavax/swing/JToolBar;
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalToolBarUI.contListener:Ljava/awt/event/ContainerListener;
            invokevirtual javax.swing.JToolBar.removeContainerListener:(Ljava/awt/event/ContainerListener;)V
         3: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual javax.swing.plaf.metal.MetalToolBarUI.createRolloverListener:()Ljava/beans/PropertyChangeListener;
            putfield javax.swing.plaf.metal.MetalToolBarUI.rolloverListener:Ljava/beans/PropertyChangeListener;
         4: .line 200
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalToolBarUI.rolloverListener:Ljava/beans/PropertyChangeListener;
            ifnull 6
         5: .line 201
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalToolBarUI.toolBar:Ljavax/swing/JToolBar;
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalToolBarUI.rolloverListener:Ljava/beans/PropertyChangeListener;
            invokevirtual javax.swing.JToolBar.removePropertyChangeListener:(Ljava/beans/PropertyChangeListener;)V
         6: .line 203
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.swing.plaf.metal.MetalToolBarUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljavax/swing/plaf/metal/MetalToolBarUI;

  protected javax.swing.border.Border createRolloverBorder();
    descriptor: ()Ljavax/swing/border/Border;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.plaf.metal.MetalToolBarUI this
         0: .line 206
            aload 0 /* this */
            invokespecial javax.swing.plaf.basic.BasicToolBarUI.createRolloverBorder:()Ljavax/swing/border/Border;
            areturn
        end local 0 // javax.swing.plaf.metal.MetalToolBarUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/plaf/metal/MetalToolBarUI;

  protected javax.swing.border.Border createNonRolloverBorder();
    descriptor: ()Ljavax/swing/border/Border;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.plaf.metal.MetalToolBarUI this
         0: .line 210
            aload 0 /* this */
            invokespecial javax.swing.plaf.basic.BasicToolBarUI.createNonRolloverBorder:()Ljavax/swing/border/Border;
            areturn
        end local 0 // javax.swing.plaf.metal.MetalToolBarUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/plaf/metal/MetalToolBarUI;

  private javax.swing.border.Border createNonRolloverToggleBorder();
    descriptor: ()Ljavax/swing/border/Border;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.plaf.metal.MetalToolBarUI this
         0: .line 218
            aload 0 /* this */
            invokevirtual javax.swing.plaf.metal.MetalToolBarUI.createNonRolloverBorder:()Ljavax/swing/border/Border;
            areturn
        end local 0 // javax.swing.plaf.metal.MetalToolBarUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/plaf/metal/MetalToolBarUI;

  protected void setBorderToNonRollover(java.awt.Component);
    descriptor: (Ljava/awt/Component;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // javax.swing.plaf.metal.MetalToolBarUI this
        start local 1 // java.awt.Component c
         0: .line 222
            aload 1 /* c */
            instanceof javax.swing.JToggleButton
            ifeq 9
            aload 1 /* c */
            instanceof javax.swing.JCheckBox
            ifne 9
         1: .line 231
            aload 1 /* c */
            checkcast javax.swing.JToggleButton
            astore 2 /* b */
        start local 2 // javax.swing.JToggleButton b
         2: .line 232
            aload 2 /* b */
            invokevirtual javax.swing.JToggleButton.getBorder:()Ljavax/swing/border/Border;
            astore 3 /* border */
        start local 3 // javax.swing.border.Border border
         3: .line 233
            aload 0 /* this */
            aload 1 /* c */
            invokespecial javax.swing.plaf.basic.BasicToolBarUI.setBorderToNonRollover:(Ljava/awt/Component;)V
         4: .line 234
            aload 3 /* border */
            instanceof javax.swing.plaf.UIResource
            ifeq 10
         5: .line 235
            getstatic javax.swing.plaf.metal.MetalToolBarUI.nonRolloverBorder:Ljavax/swing/border/Border;
            ifnonnull 7
         6: .line 236
            aload 0 /* this */
            invokevirtual javax.swing.plaf.metal.MetalToolBarUI.createNonRolloverToggleBorder:()Ljavax/swing/border/Border;
            putstatic javax.swing.plaf.metal.MetalToolBarUI.nonRolloverBorder:Ljavax/swing/border/Border;
         7: .line 238
      StackMap locals: javax.swing.JToggleButton javax.swing.border.Border
      StackMap stack:
            aload 2 /* b */
            getstatic javax.swing.plaf.metal.MetalToolBarUI.nonRolloverBorder:Ljavax/swing/border/Border;
            invokevirtual javax.swing.JToggleButton.setBorder:(Ljavax/swing/border/Border;)V
        end local 3 // javax.swing.border.Border border
        end local 2 // javax.swing.JToggleButton b
         8: .line 240
            goto 10
         9: .line 241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* c */
            invokespecial javax.swing.plaf.basic.BasicToolBarUI.setBorderToNonRollover:(Ljava/awt/Component;)V
        10: .line 243
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.awt.Component c
        end local 0 // javax.swing.plaf.metal.MetalToolBarUI this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Ljavax/swing/plaf/metal/MetalToolBarUI;
            0   11     1       c  Ljava/awt/Component;
            2    8     2       b  Ljavax/swing/JToggleButton;
            3    8     3  border  Ljavax/swing/border/Border;
    MethodParameters:
      Name  Flags
      c     

  protected java.awt.event.ContainerListener createContainerListener();
    descriptor: ()Ljava/awt/event/ContainerListener;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.plaf.metal.MetalToolBarUI this
         0: .line 254
            aconst_null
            areturn
        end local 0 // javax.swing.plaf.metal.MetalToolBarUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/plaf/metal/MetalToolBarUI;

  protected java.beans.PropertyChangeListener createRolloverListener();
    descriptor: ()Ljava/beans/PropertyChangeListener;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.plaf.metal.MetalToolBarUI this
         0: .line 265
            aconst_null
            areturn
        end local 0 // javax.swing.plaf.metal.MetalToolBarUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/plaf/metal/MetalToolBarUI;

  protected javax.swing.event.MouseInputListener createDockingListener();
    descriptor: ()Ljavax/swing/event/MouseInputListener;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // javax.swing.plaf.metal.MetalToolBarUI this
         0: .line 270
            new javax.swing.plaf.metal.MetalToolBarUI$MetalDockingListener
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalToolBarUI.toolBar:Ljavax/swing/JToolBar;
            invokespecial javax.swing.plaf.metal.MetalToolBarUI$MetalDockingListener.<init>:(Ljavax/swing/plaf/metal/MetalToolBarUI;Ljavax/swing/JToolBar;)V
            areturn
        end local 0 // javax.swing.plaf.metal.MetalToolBarUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/plaf/metal/MetalToolBarUI;

  protected void setDragOffset(java.awt.Point);
    descriptor: (Ljava/awt/Point;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.swing.plaf.metal.MetalToolBarUI this
        start local 1 // java.awt.Point p
         0: .line 274
            invokestatic java.awt.GraphicsEnvironment.isHeadless:()Z
            ifne 4
         1: .line 275
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalToolBarUI.dragWindow:Ljavax/swing/plaf/basic/BasicToolBarUI$DragWindow;
            ifnonnull 3
         2: .line 276
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalToolBarUI.toolBar:Ljavax/swing/JToolBar;
            invokevirtual javax.swing.plaf.metal.MetalToolBarUI.createDragWindow:(Ljavax/swing/JToolBar;)Ljavax/swing/plaf/basic/BasicToolBarUI$DragWindow;
            putfield javax.swing.plaf.metal.MetalToolBarUI.dragWindow:Ljavax/swing/plaf/basic/BasicToolBarUI$DragWindow;
         3: .line 278
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalToolBarUI.dragWindow:Ljavax/swing/plaf/basic/BasicToolBarUI$DragWindow;
            aload 1 /* p */
            invokevirtual javax.swing.plaf.basic.BasicToolBarUI$DragWindow.setOffset:(Ljava/awt/Point;)V
         4: .line 280
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.awt.Point p
        end local 0 // javax.swing.plaf.metal.MetalToolBarUI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavax/swing/plaf/metal/MetalToolBarUI;
            0    5     1     p  Ljava/awt/Point;
    MethodParameters:
      Name  Flags
      p     

  public void update(java.awt.Graphics, javax.swing.JComponent);
    descriptor: (Ljava/awt/Graphics;Ljavax/swing/JComponent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=8, args_size=3
        start local 0 // javax.swing.plaf.metal.MetalToolBarUI this
        start local 1 // java.awt.Graphics g
        start local 2 // javax.swing.JComponent c
         0: .line 295
            aload 1 /* g */
            ifnonnull 2
         1: .line 296
            new java.lang.NullPointerException
            dup
            ldc "graphics must be non-null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 298
      StackMap locals:
      StackMap stack:
            aload 2 /* c */
            invokevirtual javax.swing.JComponent.isOpaque:()Z
            ifeq 34
            aload 2 /* c */
            invokevirtual javax.swing.JComponent.getBackground:()Ljava/awt/Color;
            instanceof javax.swing.plaf.UIResource
            ifeq 34
         3: .line 299
            aload 2 /* c */
            checkcast javax.swing.JToolBar
            invokevirtual javax.swing.JToolBar.getOrientation:()I
            ifne 34
         4: .line 301
            ldc "MenuBar.gradient"
         5: .line 300
            invokestatic javax.swing.UIManager.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 34
         6: .line 302
            aload 2 /* c */
            invokestatic javax.swing.SwingUtilities.getRootPane:(Ljava/awt/Component;)Ljavax/swing/JRootPane;
            astore 3 /* rp */
        start local 3 // javax.swing.JRootPane rp
         7: .line 304
            aload 2 /* c */
            ldc Ljavax/swing/JMenuBar;
         8: .line 303
            invokestatic javax.swing.plaf.metal.MetalToolBarUI.findRegisteredComponentOfType:(Ljavax/swing/JComponent;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast javax.swing.JMenuBar
            astore 4 /* mb */
        start local 4 // javax.swing.JMenuBar mb
         9: .line 305
            aload 4 /* mb */
            ifnull 27
            aload 4 /* mb */
            invokevirtual javax.swing.JMenuBar.isOpaque:()Z
            ifeq 27
        10: .line 306
            aload 4 /* mb */
            invokevirtual javax.swing.JMenuBar.getBackground:()Ljava/awt/Color;
            instanceof javax.swing.plaf.UIResource
            ifeq 27
        11: .line 307
            new java.awt.Point
            dup
            iconst_0
            iconst_0
            invokespecial java.awt.Point.<init>:(II)V
            astore 5 /* point */
        start local 5 // java.awt.Point point
        12: .line 308
            aload 2 /* c */
            aload 5 /* point */
            aload 3 /* rp */
            invokestatic javax.swing.SwingUtilities.convertPoint:(Ljava/awt/Component;Ljava/awt/Point;Ljava/awt/Component;)Ljava/awt/Point;
            astore 5 /* point */
        13: .line 309
            aload 5 /* point */
            getfield java.awt.Point.x:I
            istore 6 /* x */
        start local 6 // int x
        14: .line 310
            aload 5 /* point */
            getfield java.awt.Point.y:I
            istore 7 /* y */
        start local 7 // int y
        15: .line 311
            aload 5 /* point */
            aload 5 /* point */
            iconst_0
            dup_x1
            putfield java.awt.Point.y:I
            putfield java.awt.Point.x:I
        16: .line 312
            aload 4 /* mb */
            aload 5 /* point */
            aload 3 /* rp */
            invokestatic javax.swing.SwingUtilities.convertPoint:(Ljava/awt/Component;Ljava/awt/Point;Ljava/awt/Component;)Ljava/awt/Point;
            astore 5 /* point */
        17: .line 313
            aload 5 /* point */
            getfield java.awt.Point.x:I
            iload 6 /* x */
            if_icmpne 27
            iload 7 /* y */
            aload 5 /* point */
            getfield java.awt.Point.y:I
            aload 4 /* mb */
            invokevirtual javax.swing.JMenuBar.getHeight:()I
            iadd
            if_icmpne 27
        18: .line 314
            aload 4 /* mb */
            invokevirtual javax.swing.JMenuBar.getWidth:()I
            aload 2 /* c */
            invokevirtual javax.swing.JComponent.getWidth:()I
            if_icmpne 27
        19: .line 315
            aload 2 /* c */
            aload 1 /* g */
            ldc "MenuBar.gradient"
        20: .line 316
            iconst_0
            aload 4 /* mb */
            invokevirtual javax.swing.JMenuBar.getHeight:()I
            ineg
            aload 2 /* c */
            invokevirtual javax.swing.JComponent.getWidth:()I
            aload 2 /* c */
            invokevirtual javax.swing.JComponent.getHeight:()I
        21: .line 317
            aload 4 /* mb */
            invokevirtual javax.swing.JMenuBar.getHeight:()I
            iadd
            iconst_1
        22: .line 315
            invokestatic javax.swing.plaf.metal.MetalUtils.drawGradient:(Ljava/awt/Component;Ljava/awt/Graphics;Ljava/lang/String;IIIIZ)Z
        23: .line 317
            ifeq 27
        24: .line 318
            aload 0 /* this */
            aload 4 /* mb */
            invokevirtual javax.swing.plaf.metal.MetalToolBarUI.setLastMenuBar:(Ljavax/swing/JMenuBar;)V
        25: .line 319
            aload 0 /* this */
            aload 1 /* g */
            aload 2 /* c */
            invokevirtual javax.swing.plaf.metal.MetalToolBarUI.paint:(Ljava/awt/Graphics;Ljavax/swing/JComponent;)V
        26: .line 320
            return
        end local 7 // int y
        end local 6 // int x
        end local 5 // java.awt.Point point
        27: .line 323
      StackMap locals: javax.swing.JRootPane javax.swing.JMenuBar
      StackMap stack:
            aload 2 /* c */
            aload 1 /* g */
            ldc "MenuBar.gradient"
        28: .line 324
            iconst_0
            iconst_0
            aload 2 /* c */
            invokevirtual javax.swing.JComponent.getWidth:()I
            aload 2 /* c */
            invokevirtual javax.swing.JComponent.getHeight:()I
            iconst_1
        29: .line 323
            invokestatic javax.swing.plaf.metal.MetalUtils.drawGradient:(Ljava/awt/Component;Ljava/awt/Graphics;Ljava/lang/String;IIIIZ)Z
        30: .line 324
            ifeq 34
        31: .line 325
            aload 0 /* this */
            aconst_null
            invokevirtual javax.swing.plaf.metal.MetalToolBarUI.setLastMenuBar:(Ljavax/swing/JMenuBar;)V
        32: .line 326
            aload 0 /* this */
            aload 1 /* g */
            aload 2 /* c */
            invokevirtual javax.swing.plaf.metal.MetalToolBarUI.paint:(Ljava/awt/Graphics;Ljavax/swing/JComponent;)V
        33: .line 327
            return
        end local 4 // javax.swing.JMenuBar mb
        end local 3 // javax.swing.JRootPane rp
        34: .line 330
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            invokevirtual javax.swing.plaf.metal.MetalToolBarUI.setLastMenuBar:(Ljavax/swing/JMenuBar;)V
        35: .line 331
            aload 0 /* this */
            aload 1 /* g */
            aload 2 /* c */
            invokespecial javax.swing.plaf.basic.BasicToolBarUI.update:(Ljava/awt/Graphics;Ljavax/swing/JComponent;)V
        36: .line 332
            return
        end local 2 // javax.swing.JComponent c
        end local 1 // java.awt.Graphics g
        end local 0 // javax.swing.plaf.metal.MetalToolBarUI this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   37     0   this  Ljavax/swing/plaf/metal/MetalToolBarUI;
            0   37     1      g  Ljava/awt/Graphics;
            0   37     2      c  Ljavax/swing/JComponent;
            7   34     3     rp  Ljavax/swing/JRootPane;
            9   34     4     mb  Ljavax/swing/JMenuBar;
           12   27     5  point  Ljava/awt/Point;
           14   27     6      x  I
           15   27     7      y  I
    MethodParameters:
      Name  Flags
      g     
      c     

  private void setLastMenuBar(javax.swing.JMenuBar);
    descriptor: (Ljavax/swing/JMenuBar;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.swing.plaf.metal.MetalToolBarUI this
        start local 1 // javax.swing.JMenuBar lastMenuBar
         0: .line 335
            invokestatic javax.swing.plaf.metal.MetalLookAndFeel.usingOcean:()Z
            ifeq 7
         1: .line 336
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalToolBarUI.lastMenuBar:Ljavax/swing/JMenuBar;
            aload 1 /* lastMenuBar */
            if_acmpeq 7
         2: .line 339
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalToolBarUI.lastMenuBar:Ljavax/swing/JMenuBar;
            ifnull 4
         3: .line 340
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalToolBarUI.lastMenuBar:Ljavax/swing/JMenuBar;
            invokevirtual javax.swing.JMenuBar.repaint:()V
         4: .line 342
      StackMap locals:
      StackMap stack:
            aload 1 /* lastMenuBar */
            ifnull 6
         5: .line 343
            aload 1 /* lastMenuBar */
            invokevirtual javax.swing.JMenuBar.repaint:()V
         6: .line 345
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* lastMenuBar */
            putfield javax.swing.plaf.metal.MetalToolBarUI.lastMenuBar:Ljavax/swing/JMenuBar;
         7: .line 348
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.swing.JMenuBar lastMenuBar
        end local 0 // javax.swing.plaf.metal.MetalToolBarUI this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Ljavax/swing/plaf/metal/MetalToolBarUI;
            0    8     1  lastMenuBar  Ljavax/swing/JMenuBar;
    MethodParameters:
             Name  Flags
      lastMenuBar  
}
SourceFile: "MetalToolBarUI.java"
NestMembers:
  javax.swing.plaf.metal.MetalToolBarUI$MetalContainerListener  javax.swing.plaf.metal.MetalToolBarUI$MetalDockingListener  javax.swing.plaf.metal.MetalToolBarUI$MetalRolloverListener
InnerClasses:
  protected DragWindow = javax.swing.plaf.basic.BasicToolBarUI$DragWindow of javax.swing.plaf.basic.BasicToolBarUI
  protected MetalContainerListener = javax.swing.plaf.metal.MetalToolBarUI$MetalContainerListener of javax.swing.plaf.metal.MetalToolBarUI
  protected MetalDockingListener = javax.swing.plaf.metal.MetalToolBarUI$MetalDockingListener of javax.swing.plaf.metal.MetalToolBarUI
  protected MetalRolloverListener = javax.swing.plaf.metal.MetalToolBarUI$MetalRolloverListener of javax.swing.plaf.metal.MetalToolBarUI