public final class javafx.scene.chart.CategoryAxis extends javafx.scene.chart.Axis<java.lang.String>
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: javafx.scene.chart.CategoryAxis
  super_class: javafx.scene.chart.Axis
{
  private java.util.List<java.lang.String> allDataCategories;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/String;>;

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

  private final javafx.beans.property.DoubleProperty firstCategoryPos;
    descriptor: Ljavafx/beans/property/DoubleProperty;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.lang.Object currentAnimationID;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

  private final com.sun.javafx.charts.ChartLayoutAnimator animator;
    descriptor: Lcom/sun/javafx/charts/ChartLayoutAnimator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private javafx.collections.ListChangeListener<java.lang.String> itemsListener;
    descriptor: Ljavafx/collections/ListChangeListener;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljavafx/collections/ListChangeListener<Ljava/lang/String;>;

  private javafx.beans.property.DoubleProperty startMargin;
    descriptor: Ljavafx/beans/property/DoubleProperty;
    flags: (0x0002) ACC_PRIVATE

  private javafx.beans.property.DoubleProperty endMargin;
    descriptor: Ljavafx/beans/property/DoubleProperty;
    flags: (0x0002) ACC_PRIVATE

  private javafx.beans.property.BooleanProperty gapStartAndEnd;
    descriptor: Ljavafx/beans/property/BooleanProperty;
    flags: (0x0002) ACC_PRIVATE

  private javafx.beans.property.ObjectProperty<javafx.collections.ObservableList<java.lang.String>> categories;
    descriptor: Ljavafx/beans/property/ObjectProperty;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljavafx/beans/property/ObjectProperty<Ljavafx/collections/ObservableList<Ljava/lang/String;>;>;

  private final javafx.beans.property.ReadOnlyDoubleWrapper categorySpacing;
    descriptor: Ljavafx/beans/property/ReadOnlyDoubleWrapper;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public final double getStartMargin();
    descriptor: ()D
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javafx.scene.chart.CategoryAxis this
         0: .line 115
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.startMargin:Ljavafx/beans/property/DoubleProperty;
            invokevirtual javafx.beans.property.DoubleProperty.getValue:()Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            dreturn
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavafx/scene/chart/CategoryAxis;

  public final void setStartMargin(double);
    descriptor: (D)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // javafx.scene.chart.CategoryAxis this
        start local 1 // double value
         0: .line 116
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.startMargin:Ljavafx/beans/property/DoubleProperty;
            dload 1 /* value */
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            invokevirtual javafx.beans.property.DoubleProperty.setValue:(Ljava/lang/Number;)V
            return
        end local 1 // double value
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljavafx/scene/chart/CategoryAxis;
            0    1     1  value  D
    MethodParameters:
       Name  Flags
      value  

  public final javafx.beans.property.DoubleProperty startMarginProperty();
    descriptor: ()Ljavafx/beans/property/DoubleProperty;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javafx.scene.chart.CategoryAxis this
         0: .line 117
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.startMargin:Ljavafx/beans/property/DoubleProperty;
            areturn
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavafx/scene/chart/CategoryAxis;

  public final double getEndMargin();
    descriptor: ()D
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javafx.scene.chart.CategoryAxis this
         0: .line 140
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.endMargin:Ljavafx/beans/property/DoubleProperty;
            invokevirtual javafx.beans.property.DoubleProperty.getValue:()Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            dreturn
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavafx/scene/chart/CategoryAxis;

  public final void setEndMargin(double);
    descriptor: (D)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // javafx.scene.chart.CategoryAxis this
        start local 1 // double value
         0: .line 141
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.endMargin:Ljavafx/beans/property/DoubleProperty;
            dload 1 /* value */
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            invokevirtual javafx.beans.property.DoubleProperty.setValue:(Ljava/lang/Number;)V
            return
        end local 1 // double value
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljavafx/scene/chart/CategoryAxis;
            0    1     1  value  D
    MethodParameters:
       Name  Flags
      value  

  public final javafx.beans.property.DoubleProperty endMarginProperty();
    descriptor: ()Ljavafx/beans/property/DoubleProperty;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javafx.scene.chart.CategoryAxis this
         0: .line 142
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.endMargin:Ljavafx/beans/property/DoubleProperty;
            areturn
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavafx/scene/chart/CategoryAxis;

  public final boolean isGapStartAndEnd();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javafx.scene.chart.CategoryAxis this
         0: .line 167
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.gapStartAndEnd:Ljavafx/beans/property/BooleanProperty;
            invokevirtual javafx.beans.property.BooleanProperty.getValue:()Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavafx/scene/chart/CategoryAxis;

  public final void setGapStartAndEnd(boolean);
    descriptor: (Z)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javafx.scene.chart.CategoryAxis this
        start local 1 // boolean value
         0: .line 168
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.gapStartAndEnd:Ljavafx/beans/property/BooleanProperty;
            iload 1 /* value */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual javafx.beans.property.BooleanProperty.setValue:(Ljava/lang/Boolean;)V
            return
        end local 1 // boolean value
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljavafx/scene/chart/CategoryAxis;
            0    1     1  value  Z
    MethodParameters:
       Name  Flags
      value  

  public final javafx.beans.property.BooleanProperty gapStartAndEndProperty();
    descriptor: ()Ljavafx/beans/property/BooleanProperty;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javafx.scene.chart.CategoryAxis this
         0: .line 169
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.gapStartAndEnd:Ljavafx/beans/property/BooleanProperty;
            areturn
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavafx/scene/chart/CategoryAxis;

  public final void setCategories(javafx.collections.ObservableList<java.lang.String>);
    descriptor: (Ljavafx/collections/ObservableList;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javafx.scene.chart.CategoryAxis this
        start local 1 // javafx.collections.ObservableList value
         0: .line 205
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.categories:Ljavafx/beans/property/ObjectProperty;
            aload 1 /* value */
            invokevirtual javafx.beans.property.ObjectProperty.set:(Ljava/lang/Object;)V
         1: .line 206
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.changeIsLocal:Z
            ifne 5
         2: .line 207
            aload 0 /* this */
            iconst_0
            invokevirtual javafx.scene.chart.CategoryAxis.setAutoRanging:(Z)V
         3: .line 208
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.allDataCategories:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         4: .line 209
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.allDataCategories:Ljava/util/List;
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getCategories:()Ljavafx/collections/ObservableList;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         5: .line 211
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.requestAxisLayout:()V
         6: .line 212
            return
        end local 1 // javafx.collections.ObservableList value
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Ljavafx/scene/chart/CategoryAxis;
            0    7     1  value  Ljavafx/collections/ObservableList<Ljava/lang/String;>;
    Signature: (Ljavafx/collections/ObservableList<Ljava/lang/String;>;)V
    MethodParameters:
       Name  Flags
      value  

  private void checkAndRemoveDuplicates(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // javafx.scene.chart.CategoryAxis this
        start local 1 // java.lang.String category
         0: .line 215
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getDuplicate:()Ljava/lang/String;
            ifnull 3
         1: .line 216
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getCategories:()Ljavafx/collections/ObservableList;
            aload 1 /* category */
            invokeinterface javafx.collections.ObservableList.remove:(Ljava/lang/Object;)Z
            pop
         2: .line 217
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Duplicate category ; "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* category */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " already present"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 219
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String category
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Ljavafx/scene/chart/CategoryAxis;
            0    4     1  category  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      category  

  private java.lang.String getDuplicate();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // javafx.scene.chart.CategoryAxis this
         0: .line 222
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getCategories:()Ljavafx/collections/ObservableList;
            ifnull 11
         1: .line 223
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         2: goto 10
         3: .line 224
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 2 /* j */
        start local 2 // int j
         4: goto 8
         5: .line 225
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getCategories:()Ljavafx/collections/ObservableList;
            iload 1 /* i */
            invokeinterface javafx.collections.ObservableList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getCategories:()Ljavafx/collections/ObservableList;
            iload 2 /* j */
            invokeinterface javafx.collections.ObservableList.get:(I)Ljava/lang/Object;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
            iload 1 /* i */
            iload 2 /* j */
            if_icmpeq 7
         6: .line 226
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getCategories:()Ljavafx/collections/ObservableList;
            iload 1 /* i */
            invokeinterface javafx.collections.ObservableList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
         7: .line 224
      StackMap locals:
      StackMap stack:
            iinc 2 /* j */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* j */
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getCategories:()Ljavafx/collections/ObservableList;
            invokeinterface javafx.collections.ObservableList.size:()I
            if_icmplt 5
        end local 2 // int j
         9: .line 223
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 1 /* i */
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getCategories:()Ljavafx/collections/ObservableList;
            invokeinterface javafx.collections.ObservableList.size:()I
            if_icmplt 3
        end local 1 // int i
        11: .line 231
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljavafx/scene/chart/CategoryAxis;
            2   11     1     i  I
            4    9     2     j  I

  public final javafx.collections.ObservableList<java.lang.String> getCategories();
    descriptor: ()Ljavafx/collections/ObservableList;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javafx.scene.chart.CategoryAxis this
         0: .line 239
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.categories:Ljavafx/beans/property/ObjectProperty;
            invokevirtual javafx.beans.property.ObjectProperty.get:()Ljava/lang/Object;
            checkcast javafx.collections.ObservableList
            areturn
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavafx/scene/chart/CategoryAxis;
    Signature: ()Ljavafx/collections/ObservableList<Ljava/lang/String;>;

  public final double getCategorySpacing();
    descriptor: ()D
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javafx.scene.chart.CategoryAxis this
         0: .line 245
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.categorySpacing:Ljavafx/beans/property/ReadOnlyDoubleWrapper;
            invokevirtual javafx.beans.property.ReadOnlyDoubleWrapper.get:()D
            dreturn
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavafx/scene/chart/CategoryAxis;

  public final javafx.beans.property.ReadOnlyDoubleProperty categorySpacingProperty();
    descriptor: ()Ljavafx/beans/property/ReadOnlyDoubleProperty;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javafx.scene.chart.CategoryAxis this
         0: .line 248
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.categorySpacing:Ljavafx/beans/property/ReadOnlyDoubleWrapper;
            invokevirtual javafx.beans.property.ReadOnlyDoubleWrapper.getReadOnlyProperty:()Ljavafx/beans/property/ReadOnlyDoubleProperty;
            areturn
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavafx/scene/chart/CategoryAxis;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // javafx.scene.chart.CategoryAxis this
         0: .line 256
            aload 0 /* this */
            invokespecial javafx.scene.chart.Axis.<init>:()V
         1: .line 70
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield javafx.scene.chart.CategoryAxis.allDataCategories:Ljava/util/List;
         2: .line 71
            aload 0 /* this */
            iconst_0
            putfield javafx.scene.chart.CategoryAxis.changeIsLocal:Z
         3: .line 73
            aload 0 /* this */
            new javafx.beans.property.SimpleDoubleProperty
            dup
            aload 0 /* this */
            ldc "firstCategoryPos"
            dconst_0
            invokespecial javafx.beans.property.SimpleDoubleProperty.<init>:(Ljava/lang/Object;Ljava/lang/String;D)V
            putfield javafx.scene.chart.CategoryAxis.firstCategoryPos:Ljavafx/beans/property/DoubleProperty;
         4: .line 75
            aload 0 /* this */
            new com.sun.javafx.charts.ChartLayoutAnimator
            dup
            aload 0 /* this */
            invokespecial com.sun.javafx.charts.ChartLayoutAnimator.<init>:(Ljavafx/scene/Parent;)V
            putfield javafx.scene.chart.CategoryAxis.animator:Lcom/sun/javafx/charts/ChartLayoutAnimator;
         5: .line 76
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic onChanged(Ljavafx/scene/chart/CategoryAxis;)Ljavafx/collections/ListChangeListener;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljavafx/collections/ListChangeListener$Change;)V
                  javafx/scene/chart/CategoryAxis.lambda$0(Ljavafx/collections/ListChangeListener$Change;)V (7)
                  (Ljavafx/collections/ListChangeListener$Change;)V
            putfield javafx.scene.chart.CategoryAxis.itemsListener:Ljavafx/collections/ListChangeListener;
         6: .line 96
            aload 0 /* this */
            new javafx.scene.chart.CategoryAxis$1
            dup
            aload 0 /* this */
            ldc 5.0
            invokespecial javafx.scene.chart.CategoryAxis$1.<init>:(Ljavafx/scene/chart/CategoryAxis;D)V
            putfield javafx.scene.chart.CategoryAxis.startMargin:Ljavafx/beans/property/DoubleProperty;
         7: .line 120
            aload 0 /* this */
            new javafx.scene.chart.CategoryAxis$2
            dup
            aload 0 /* this */
            ldc 5.0
            invokespecial javafx.scene.chart.CategoryAxis$2.<init>:(Ljavafx/scene/chart/CategoryAxis;D)V
            putfield javafx.scene.chart.CategoryAxis.endMargin:Ljavafx/beans/property/DoubleProperty;
         8: .line 147
            aload 0 /* this */
            new javafx.scene.chart.CategoryAxis$3
            dup
            aload 0 /* this */
            iconst_1
            invokespecial javafx.scene.chart.CategoryAxis$3.<init>:(Ljavafx/scene/chart/CategoryAxis;Z)V
            putfield javafx.scene.chart.CategoryAxis.gapStartAndEnd:Ljavafx/beans/property/BooleanProperty;
         9: .line 171
            aload 0 /* this */
            new javafx.scene.chart.CategoryAxis$4
            dup
            aload 0 /* this */
            invokespecial javafx.scene.chart.CategoryAxis$4.<init>:(Ljavafx/scene/chart/CategoryAxis;)V
            putfield javafx.scene.chart.CategoryAxis.categories:Ljavafx/beans/property/ObjectProperty;
        10: .line 243
            aload 0 /* this */
            new javafx.beans.property.ReadOnlyDoubleWrapper
            dup
            aload 0 /* this */
            ldc "categorySpacing"
            dconst_1
            invokespecial javafx.beans.property.ReadOnlyDoubleWrapper.<init>:(Ljava/lang/Object;Ljava/lang/String;D)V
            putfield javafx.scene.chart.CategoryAxis.categorySpacing:Ljavafx/beans/property/ReadOnlyDoubleWrapper;
        11: .line 257
            aload 0 /* this */
            iconst_1
            putfield javafx.scene.chart.CategoryAxis.changeIsLocal:Z
        12: .line 258
            aload 0 /* this */
            invokestatic javafx.collections.FXCollections.observableArrayList:()Ljavafx/collections/ObservableList;
            invokevirtual javafx.scene.chart.CategoryAxis.setCategories:(Ljavafx/collections/ObservableList;)V
        13: .line 259
            aload 0 /* this */
            iconst_0
            putfield javafx.scene.chart.CategoryAxis.changeIsLocal:Z
        14: .line 260
            return
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Ljavafx/scene/chart/CategoryAxis;

  public void <init>(javafx.collections.ObservableList<java.lang.String>);
    descriptor: (Ljavafx/collections/ObservableList;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // javafx.scene.chart.CategoryAxis this
        start local 1 // javafx.collections.ObservableList categories
         0: .line 267
            aload 0 /* this */
            invokespecial javafx.scene.chart.Axis.<init>:()V
         1: .line 70
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield javafx.scene.chart.CategoryAxis.allDataCategories:Ljava/util/List;
         2: .line 71
            aload 0 /* this */
            iconst_0
            putfield javafx.scene.chart.CategoryAxis.changeIsLocal:Z
         3: .line 73
            aload 0 /* this */
            new javafx.beans.property.SimpleDoubleProperty
            dup
            aload 0 /* this */
            ldc "firstCategoryPos"
            dconst_0
            invokespecial javafx.beans.property.SimpleDoubleProperty.<init>:(Ljava/lang/Object;Ljava/lang/String;D)V
            putfield javafx.scene.chart.CategoryAxis.firstCategoryPos:Ljavafx/beans/property/DoubleProperty;
         4: .line 75
            aload 0 /* this */
            new com.sun.javafx.charts.ChartLayoutAnimator
            dup
            aload 0 /* this */
            invokespecial com.sun.javafx.charts.ChartLayoutAnimator.<init>:(Ljavafx/scene/Parent;)V
            putfield javafx.scene.chart.CategoryAxis.animator:Lcom/sun/javafx/charts/ChartLayoutAnimator;
         5: .line 76
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic onChanged(Ljavafx/scene/chart/CategoryAxis;)Ljavafx/collections/ListChangeListener;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljavafx/collections/ListChangeListener$Change;)V
                  javafx/scene/chart/CategoryAxis.lambda$0(Ljavafx/collections/ListChangeListener$Change;)V (7)
                  (Ljavafx/collections/ListChangeListener$Change;)V
            putfield javafx.scene.chart.CategoryAxis.itemsListener:Ljavafx/collections/ListChangeListener;
         6: .line 96
            aload 0 /* this */
            new javafx.scene.chart.CategoryAxis$1
            dup
            aload 0 /* this */
            ldc 5.0
            invokespecial javafx.scene.chart.CategoryAxis$1.<init>:(Ljavafx/scene/chart/CategoryAxis;D)V
            putfield javafx.scene.chart.CategoryAxis.startMargin:Ljavafx/beans/property/DoubleProperty;
         7: .line 120
            aload 0 /* this */
            new javafx.scene.chart.CategoryAxis$2
            dup
            aload 0 /* this */
            ldc 5.0
            invokespecial javafx.scene.chart.CategoryAxis$2.<init>:(Ljavafx/scene/chart/CategoryAxis;D)V
            putfield javafx.scene.chart.CategoryAxis.endMargin:Ljavafx/beans/property/DoubleProperty;
         8: .line 147
            aload 0 /* this */
            new javafx.scene.chart.CategoryAxis$3
            dup
            aload 0 /* this */
            iconst_1
            invokespecial javafx.scene.chart.CategoryAxis$3.<init>:(Ljavafx/scene/chart/CategoryAxis;Z)V
            putfield javafx.scene.chart.CategoryAxis.gapStartAndEnd:Ljavafx/beans/property/BooleanProperty;
         9: .line 171
            aload 0 /* this */
            new javafx.scene.chart.CategoryAxis$4
            dup
            aload 0 /* this */
            invokespecial javafx.scene.chart.CategoryAxis$4.<init>:(Ljavafx/scene/chart/CategoryAxis;)V
            putfield javafx.scene.chart.CategoryAxis.categories:Ljavafx/beans/property/ObjectProperty;
        10: .line 243
            aload 0 /* this */
            new javafx.beans.property.ReadOnlyDoubleWrapper
            dup
            aload 0 /* this */
            ldc "categorySpacing"
            dconst_1
            invokespecial javafx.beans.property.ReadOnlyDoubleWrapper.<init>:(Ljava/lang/Object;Ljava/lang/String;D)V
            putfield javafx.scene.chart.CategoryAxis.categorySpacing:Ljavafx/beans/property/ReadOnlyDoubleWrapper;
        11: .line 268
            aload 0 /* this */
            aload 1 /* categories */
            invokevirtual javafx.scene.chart.CategoryAxis.setCategories:(Ljavafx/collections/ObservableList;)V
        12: .line 269
            return
        end local 1 // javafx.collections.ObservableList categories
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Ljavafx/scene/chart/CategoryAxis;
            0   13     1  categories  Ljavafx/collections/ObservableList<Ljava/lang/String;>;
    Signature: (Ljavafx/collections/ObservableList<Ljava/lang/String;>;)V
    MethodParameters:
            Name  Flags
      categories  

  private double calculateNewSpacing(double, java.util.List<java.lang.String>);
    descriptor: (DLjava/util/List;)D
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // javafx.scene.chart.CategoryAxis this
        start local 1 // double length
        start local 3 // java.util.List categories
         0: .line 274
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getEffectiveSide:()Ljavafx/geometry/Side;
            pop
         1: .line 275
            dconst_1
            dstore 4 /* newCategorySpacing */
        start local 4 // double newCategorySpacing
         2: .line 276
            aload 3 /* categories */
            ifnull 9
         3: .line 277
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.isGapStartAndEnd:()Z
            ifeq 4
            aload 3 /* categories */
            invokeinterface java.util.List.size:()I
            goto 5
      StackMap locals: double
      StackMap stack:
         4: aload 3 /* categories */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
      StackMap locals:
      StackMap stack: int
         5: i2d
            dstore 6 /* bVal */
        start local 6 // double bVal
         6: .line 279
            dload 6 /* bVal */
            dconst_0
            dcmpl
            ifne 7
            dconst_1
            goto 8
      StackMap locals: double
      StackMap stack:
         7: dload 1 /* length */
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getStartMargin:()D
            dsub
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getEndMargin:()D
            dsub
            dload 6 /* bVal */
            ddiv
      StackMap locals:
      StackMap stack: double
         8: dstore 4 /* newCategorySpacing */
        end local 6 // double bVal
         9: .line 282
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.isAutoRanging:()Z
            ifne 10
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.categorySpacing:Ljavafx/beans/property/ReadOnlyDoubleWrapper;
            dload 4 /* newCategorySpacing */
            invokevirtual javafx.beans.property.ReadOnlyDoubleWrapper.set:(D)V
        10: .line 283
      StackMap locals:
      StackMap stack:
            dload 4 /* newCategorySpacing */
            dreturn
        end local 4 // double newCategorySpacing
        end local 3 // java.util.List categories
        end local 1 // double length
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   11     0                this  Ljavafx/scene/chart/CategoryAxis;
            0   11     1              length  D
            0   11     3          categories  Ljava/util/List<Ljava/lang/String;>;
            2   11     4  newCategorySpacing  D
            6    9     6                bVal  D
    Signature: (DLjava/util/List<Ljava/lang/String;>;)D
    MethodParameters:
            Name  Flags
      length      
      categories  

  private double calculateNewFirstPos(double, double);
    descriptor: (DD)D
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // javafx.scene.chart.CategoryAxis this
        start local 1 // double length
        start local 3 // double catSpacing
         0: .line 287
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getEffectiveSide:()Ljavafx/geometry/Side;
            astore 5 /* side */
        start local 5 // javafx.geometry.Side side
         1: .line 288
            dconst_1
            dstore 6 /* newPos */
        start local 6 // double newPos
         2: .line 289
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.isGapStartAndEnd:()Z
            ifeq 3
            dload 3 /* catSpacing */
            ldc 2.0
            ddiv
            goto 4
      StackMap locals: javafx.geometry.Side double
      StackMap stack:
         3: dconst_0
      StackMap locals:
      StackMap stack: double
         4: dstore 8 /* offset */
        start local 8 // double offset
         5: .line 290
            aload 5 /* side */
            invokevirtual javafx.geometry.Side.isHorizontal:()Z
            ifeq 8
         6: .line 291
            dconst_0
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getStartMargin:()D
            dadd
            dload 8 /* offset */
            dadd
            dstore 6 /* newPos */
         7: .line 292
            goto 9
         8: .line 293
      StackMap locals: double
      StackMap stack:
            dload 1 /* length */
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getStartMargin:()D
            dsub
            dload 8 /* offset */
            dsub
            dstore 6 /* newPos */
         9: .line 296
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.isAutoRanging:()Z
            ifne 10
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.firstCategoryPos:Ljavafx/beans/property/DoubleProperty;
            dload 6 /* newPos */
            invokevirtual javafx.beans.property.DoubleProperty.set:(D)V
        10: .line 297
      StackMap locals:
      StackMap stack:
            dload 6 /* newPos */
            dreturn
        end local 8 // double offset
        end local 6 // double newPos
        end local 5 // javafx.geometry.Side side
        end local 3 // double catSpacing
        end local 1 // double length
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Ljavafx/scene/chart/CategoryAxis;
            0   11     1      length  D
            0   11     3  catSpacing  D
            1   11     5        side  Ljavafx/geometry/Side;
            2   11     6      newPos  D
            5   11     8      offset  D
    MethodParameters:
            Name  Flags
      length      
      catSpacing  

  protected java.lang.Object getRange();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // javafx.scene.chart.CategoryAxis this
         0: .line 308
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getCategories:()Ljavafx/collections/ObservableList;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.categorySpacing:Ljavafx/beans/property/ReadOnlyDoubleWrapper;
            invokevirtual javafx.beans.property.ReadOnlyDoubleWrapper.get:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.firstCategoryPos:Ljavafx/beans/property/DoubleProperty;
            invokevirtual javafx.beans.property.DoubleProperty.get:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            dup
            iconst_3
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getEffectiveTickLabelRotation:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            areturn
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavafx/scene/chart/CategoryAxis;

  protected void setRange(java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=16, locals=9, args_size=3
        start local 0 // javafx.scene.chart.CategoryAxis this
        start local 1 // java.lang.Object range
        start local 2 // boolean animate
         0: .line 319
            aload 1 /* range */
            checkcast java.lang.Object[]
            astore 3 /* rangeArray */
        start local 3 // java.lang.Object[] rangeArray
         1: .line 320
            aload 3 /* rangeArray */
            iconst_0
            aaload
            checkcast java.util.List
            astore 4 /* categories */
        start local 4 // java.util.List categories
         2: .line 322
            aload 3 /* rangeArray */
            iconst_1
            aaload
            checkcast java.lang.Double
            invokevirtual java.lang.Double.doubleValue:()D
            dstore 5 /* newCategorySpacing */
        start local 5 // double newCategorySpacing
         3: .line 323
            aload 3 /* rangeArray */
            iconst_2
            aaload
            checkcast java.lang.Double
            invokevirtual java.lang.Double.doubleValue:()D
            dstore 7 /* newFirstCategoryPos */
        start local 7 // double newFirstCategoryPos
         4: .line 324
            aload 0 /* this */
            aload 3 /* rangeArray */
            iconst_3
            aaload
            checkcast java.lang.Double
            invokevirtual java.lang.Double.doubleValue:()D
            invokevirtual javafx.scene.chart.CategoryAxis.setEffectiveTickLabelRotation:(D)V
         5: .line 326
            aload 0 /* this */
            iconst_1
            putfield javafx.scene.chart.CategoryAxis.changeIsLocal:Z
         6: .line 327
            aload 0 /* this */
            aload 4 /* categories */
            invokestatic javafx.collections.FXCollections.observableArrayList:(Ljava/util/Collection;)Ljavafx/collections/ObservableList;
            invokevirtual javafx.scene.chart.CategoryAxis.setCategories:(Ljavafx/collections/ObservableList;)V
         7: .line 328
            aload 0 /* this */
            iconst_0
            putfield javafx.scene.chart.CategoryAxis.changeIsLocal:Z
         8: .line 329
            iload 2 /* animate */
            ifeq 21
         9: .line 330
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.animator:Lcom/sun/javafx/charts/ChartLayoutAnimator;
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.currentAnimationID:Ljava/lang/Object;
            invokevirtual com.sun.javafx.charts.ChartLayoutAnimator.stop:(Ljava/lang/Object;)V
        10: .line 331
            aload 0 /* this */
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.animator:Lcom/sun/javafx/charts/ChartLayoutAnimator;
            iconst_2
            anewarray javafx.animation.KeyFrame
            dup
            iconst_0
        11: .line 332
            new javafx.animation.KeyFrame
            dup
            getstatic javafx.util.Duration.ZERO:Ljavafx/util/Duration;
            iconst_2
            anewarray javafx.animation.KeyValue
            dup
            iconst_0
        12: .line 333
            new javafx.animation.KeyValue
            dup
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.firstCategoryPos:Ljavafx/beans/property/DoubleProperty;
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.firstCategoryPos:Ljavafx/beans/property/DoubleProperty;
            invokevirtual javafx.beans.property.DoubleProperty.get:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            invokespecial javafx.animation.KeyValue.<init>:(Ljavafx/beans/value/WritableValue;Ljava/lang/Object;)V
            aastore
            dup
            iconst_1
        13: .line 334
            new javafx.animation.KeyValue
            dup
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.categorySpacing:Ljavafx/beans/property/ReadOnlyDoubleWrapper;
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.categorySpacing:Ljavafx/beans/property/ReadOnlyDoubleWrapper;
            invokevirtual javafx.beans.property.ReadOnlyDoubleWrapper.get:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            invokespecial javafx.animation.KeyValue.<init>:(Ljavafx/beans/value/WritableValue;Ljava/lang/Object;)V
        14: .line 332
            aastore
            invokespecial javafx.animation.KeyFrame.<init>:(Ljavafx/util/Duration;[Ljavafx/animation/KeyValue;)V
            aastore
            dup
            iconst_1
        15: .line 336
            new javafx.animation.KeyFrame
            dup
            ldc 1000.0
            invokestatic javafx.util.Duration.millis:(D)Ljavafx/util/Duration;
            iconst_2
            anewarray javafx.animation.KeyValue
            dup
            iconst_0
        16: .line 337
            new javafx.animation.KeyValue
            dup
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.firstCategoryPos:Ljavafx/beans/property/DoubleProperty;
            dload 7 /* newFirstCategoryPos */
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            invokespecial javafx.animation.KeyValue.<init>:(Ljavafx/beans/value/WritableValue;Ljava/lang/Object;)V
            aastore
            dup
            iconst_1
        17: .line 338
            new javafx.animation.KeyValue
            dup
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.categorySpacing:Ljavafx/beans/property/ReadOnlyDoubleWrapper;
            dload 5 /* newCategorySpacing */
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            invokespecial javafx.animation.KeyValue.<init>:(Ljavafx/beans/value/WritableValue;Ljava/lang/Object;)V
        18: .line 336
            aastore
            invokespecial javafx.animation.KeyFrame.<init>:(Ljavafx/util/Duration;[Ljavafx/animation/KeyValue;)V
            aastore
        19: .line 331
            invokevirtual com.sun.javafx.charts.ChartLayoutAnimator.animate:([Ljavafx/animation/KeyFrame;)Ljava/lang/Object;
            putfield javafx.scene.chart.CategoryAxis.currentAnimationID:Ljava/lang/Object;
        20: .line 341
            goto 23
        21: .line 342
      StackMap locals: javafx.scene.chart.CategoryAxis java.lang.Object int java.lang.Object[] java.util.List double double
      StackMap stack:
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.categorySpacing:Ljavafx/beans/property/ReadOnlyDoubleWrapper;
            dload 5 /* newCategorySpacing */
            invokevirtual javafx.beans.property.ReadOnlyDoubleWrapper.set:(D)V
        22: .line 343
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.firstCategoryPos:Ljavafx/beans/property/DoubleProperty;
            dload 7 /* newFirstCategoryPos */
            invokevirtual javafx.beans.property.DoubleProperty.set:(D)V
        23: .line 345
      StackMap locals:
      StackMap stack:
            return
        end local 7 // double newFirstCategoryPos
        end local 5 // double newCategorySpacing
        end local 4 // java.util.List categories
        end local 3 // java.lang.Object[] rangeArray
        end local 2 // boolean animate
        end local 1 // java.lang.Object range
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   24     0                 this  Ljavafx/scene/chart/CategoryAxis;
            0   24     1                range  Ljava/lang/Object;
            0   24     2              animate  Z
            1   24     3           rangeArray  [Ljava/lang/Object;
            2   24     4           categories  Ljava/util/List<Ljava/lang/String;>;
            3   24     5   newCategorySpacing  D
            4   24     7  newFirstCategoryPos  D
    MethodParameters:
         Name  Flags
      range    
      animate  

  protected java.lang.Object autoRange(double);
    descriptor: (D)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=12, args_size=2
        start local 0 // javafx.scene.chart.CategoryAxis this
        start local 1 // double length
         0: .line 357
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getEffectiveSide:()Ljavafx/geometry/Side;
            astore 3 /* side */
        start local 3 // javafx.geometry.Side side
         1: .line 359
            aload 0 /* this */
            dload 1 /* length */
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.allDataCategories:Ljava/util/List;
            invokevirtual javafx.scene.chart.CategoryAxis.calculateNewSpacing:(DLjava/util/List;)D
            dstore 4 /* newCategorySpacing */
        start local 4 // double newCategorySpacing
         2: .line 360
            aload 0 /* this */
            dload 1 /* length */
            dload 4 /* newCategorySpacing */
            invokevirtual javafx.scene.chart.CategoryAxis.calculateNewFirstPos:(DD)D
            dstore 6 /* newFirstPos */
        start local 6 // double newFirstPos
         3: .line 361
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getTickLabelRotation:()D
            dstore 8 /* tickLabelRotation */
        start local 8 // double tickLabelRotation
         4: .line 362
            dload 1 /* length */
            dconst_0
            dcmpl
            iflt 11
         5: .line 363
            aload 0 /* this */
            aload 3 /* side */
            invokevirtual javafx.geometry.Side.isVertical:()Z
            dload 8 /* tickLabelRotation */
            invokevirtual javafx.scene.chart.CategoryAxis.calculateRequiredSize:(ZD)D
            dstore 10 /* requiredLengthToDisplay */
        start local 10 // double requiredLengthToDisplay
         6: .line 364
            dload 10 /* requiredLengthToDisplay */
            dload 1 /* length */
            dcmpl
            ifle 11
         7: .line 366
            aload 3 /* side */
            invokevirtual javafx.geometry.Side.isHorizontal:()Z
            ifeq 9
            dload 8 /* tickLabelRotation */
            ldc 90.0
            dcmpl
            ifeq 9
         8: .line 367
            ldc 90.0
            dstore 8 /* tickLabelRotation */
         9: .line 369
      StackMap locals: javafx.scene.chart.CategoryAxis double javafx.geometry.Side double double double double
      StackMap stack:
            aload 3 /* side */
            invokevirtual javafx.geometry.Side.isVertical:()Z
            ifeq 11
            dload 8 /* tickLabelRotation */
            dconst_0
            dcmpl
            ifeq 11
        10: .line 370
            dconst_0
            dstore 8 /* tickLabelRotation */
        end local 10 // double requiredLengthToDisplay
        11: .line 374
      StackMap locals:
      StackMap stack:
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.allDataCategories:Ljava/util/List;
            aastore
            dup
            iconst_1
            dload 4 /* newCategorySpacing */
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            dup
            iconst_2
            dload 6 /* newFirstPos */
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            dup
            iconst_3
            dload 8 /* tickLabelRotation */
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            areturn
        end local 8 // double tickLabelRotation
        end local 6 // double newFirstPos
        end local 4 // double newCategorySpacing
        end local 3 // javafx.geometry.Side side
        end local 1 // double length
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   12     0                     this  Ljavafx/scene/chart/CategoryAxis;
            0   12     1                   length  D
            1   12     3                     side  Ljavafx/geometry/Side;
            2   12     4       newCategorySpacing  D
            3   12     6              newFirstPos  D
            4   12     8        tickLabelRotation  D
            6   11    10  requiredLengthToDisplay  D
    MethodParameters:
        Name  Flags
      length  

  private double calculateRequiredSize(boolean, double);
    descriptor: (ZD)D
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=14, args_size=3
        start local 0 // javafx.scene.chart.CategoryAxis this
        start local 1 // boolean axisVertical
        start local 2 // double tickLabelRotation
         0: .line 379
            dconst_0
            dstore 4 /* maxReqTickGap */
        start local 4 // double maxReqTickGap
         1: .line 380
            dconst_0
            dstore 6 /* last */
        start local 6 // double last
         2: .line 381
            iconst_1
            istore 8 /* first */
        start local 8 // boolean first
         3: .line 382
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.allDataCategories:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 15
      StackMap locals: javafx.scene.chart.CategoryAxis int double double double int top java.util.Iterator
      StackMap stack:
         4: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* category */
        start local 9 // java.lang.String category
         5: .line 383
            aload 0 /* this */
            aload 9 /* category */
            dload 2 /* tickLabelRotation */
            invokevirtual javafx.scene.chart.CategoryAxis.measureTickMarkSize:(Ljava/lang/Object;D)Ljavafx/geometry/Dimension2D;
            astore 11 /* textSize */
        start local 11 // javafx.geometry.Dimension2D textSize
         6: .line 384
            iload 1 /* axisVertical */
            ifne 7
            dload 2 /* tickLabelRotation */
            dconst_0
            dcmpl
            ifeq 8
      StackMap locals: javafx.scene.chart.CategoryAxis int double double double int java.lang.String java.util.Iterator javafx.geometry.Dimension2D
      StackMap stack:
         7: aload 11 /* textSize */
            invokevirtual javafx.geometry.Dimension2D.getHeight:()D
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 11 /* textSize */
            invokevirtual javafx.geometry.Dimension2D.getWidth:()D
      StackMap locals:
      StackMap stack: double
         9: dstore 12 /* size */
        start local 12 // double size
        10: .line 386
            iload 8 /* first */
            ifeq 14
        11: .line 387
            iconst_0
            istore 8 /* first */
        12: .line 388
            dload 12 /* size */
            ldc 2.0
            ddiv
            dstore 6 /* last */
        13: .line 389
            goto 15
        14: .line 390
      StackMap locals: double
      StackMap stack:
            dload 4 /* maxReqTickGap */
            dload 6 /* last */
            ldc 6.0
            dadd
            dload 12 /* size */
            ldc 2.0
            ddiv
            dadd
            invokestatic java.lang.Math.max:(DD)D
            dstore 4 /* maxReqTickGap */
        end local 12 // double size
        end local 11 // javafx.geometry.Dimension2D textSize
        end local 9 // java.lang.String category
        15: .line 382
      StackMap locals: javafx.scene.chart.CategoryAxis int double double double int top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        16: .line 393
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getStartMargin:()D
            dload 4 /* maxReqTickGap */
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.allDataCategories:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            i2d
            dmul
            dadd
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getEndMargin:()D
            dadd
            dreturn
        end local 8 // boolean first
        end local 6 // double last
        end local 4 // double maxReqTickGap
        end local 2 // double tickLabelRotation
        end local 1 // boolean axisVertical
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   17     0               this  Ljavafx/scene/chart/CategoryAxis;
            0   17     1       axisVertical  Z
            0   17     2  tickLabelRotation  D
            1   17     4      maxReqTickGap  D
            2   17     6               last  D
            3   17     8              first  Z
            5   15     9           category  Ljava/lang/String;
            6   15    11           textSize  Ljavafx/geometry/Dimension2D;
           10   15    12               size  D
    MethodParameters:
                   Name  Flags
      axisVertical       
      tickLabelRotation  

  protected java.util.List<java.lang.String> calculateTickValues(double, );
    descriptor: (DLjava/lang/Object;)Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // javafx.scene.chart.CategoryAxis this
        start local 1 // double length
        start local 3 // java.lang.Object range
         0: .line 403
            aload 3 /* range */
            checkcast java.lang.Object[]
            astore 4 /* rangeArray */
        start local 4 // java.lang.Object[] rangeArray
         1: .line 405
            aload 4 /* rangeArray */
            iconst_0
            aaload
            checkcast java.util.List
            areturn
        end local 4 // java.lang.Object[] rangeArray
        end local 3 // java.lang.Object range
        end local 1 // double length
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Ljavafx/scene/chart/CategoryAxis;
            0    2     1      length  D
            0    2     3       range  Ljava/lang/Object;
            1    2     4  rangeArray  [Ljava/lang/Object;
    Signature: (DLjava/lang/Object;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
        Name  Flags
      length  
      range   

  protected java.lang.String getTickMarkLabel(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javafx.scene.chart.CategoryAxis this
        start local 1 // java.lang.String value
         0: .line 416
            aload 1 /* value */
            areturn
        end local 1 // java.lang.String value
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljavafx/scene/chart/CategoryAxis;
            0    1     1  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      value  

  protected javafx.geometry.Dimension2D measureTickMarkSize(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)Ljavafx/geometry/Dimension2D;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // javafx.scene.chart.CategoryAxis this
        start local 1 // java.lang.String value
        start local 2 // java.lang.Object range
         0: .line 427
            aload 2 /* range */
            checkcast java.lang.Object[]
            astore 3 /* rangeArray */
        start local 3 // java.lang.Object[] rangeArray
         1: .line 428
            aload 3 /* rangeArray */
            iconst_3
            aaload
            checkcast java.lang.Double
            invokevirtual java.lang.Double.doubleValue:()D
            dstore 4 /* tickLabelRotation */
        start local 4 // double tickLabelRotation
         2: .line 429
            aload 0 /* this */
            aload 1 /* value */
            dload 4 /* tickLabelRotation */
            invokevirtual javafx.scene.chart.CategoryAxis.measureTickMarkSize:(Ljava/lang/Object;D)Ljavafx/geometry/Dimension2D;
            areturn
        end local 4 // double tickLabelRotation
        end local 3 // java.lang.Object[] rangeArray
        end local 2 // java.lang.Object range
        end local 1 // java.lang.String value
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Ljavafx/scene/chart/CategoryAxis;
            0    3     1              value  Ljava/lang/String;
            0    3     2              range  Ljava/lang/Object;
            1    3     3         rangeArray  [Ljava/lang/Object;
            2    3     4  tickLabelRotation  D
    MethodParameters:
       Name  Flags
      value  
      range  

  public void invalidateRange(java.util.List<java.lang.String>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // javafx.scene.chart.CategoryAxis this
        start local 1 // java.util.List data
         0: .line 442
            aload 0 /* this */
            aload 1 /* data */
            invokespecial javafx.scene.chart.Axis.invalidateRange:(Ljava/util/List;)V
         1: .line 444
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* categoryNames */
        start local 2 // java.util.List categoryNames
         2: .line 445
            aload 2 /* categoryNames */
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.allDataCategories:Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         3: .line 449
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.allDataCategories:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: javafx.scene.chart.CategoryAxis java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* cat */
        start local 3 // java.lang.String cat
         5: .line 450
            aload 1 /* data */
            aload 3 /* cat */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 6
            aload 2 /* categoryNames */
            aload 3 /* cat */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.String cat
         6: .line 449
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 454
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 14
         9: .line 455
      StackMap locals: javafx.scene.chart.CategoryAxis java.util.List java.util.List int
      StackMap stack:
            aload 2 /* categoryNames */
            invokeinterface java.util.List.size:()I
            istore 4 /* len */
        start local 4 // int len
        10: .line 456
            aload 2 /* categoryNames */
            aload 1 /* data */
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 13
            aload 2 /* categoryNames */
            iload 3 /* i */
            iload 4 /* len */
            if_icmple 11
            iload 4 /* len */
            goto 12
      StackMap locals: javafx.scene.chart.CategoryAxis java.util.List java.util.List int int
      StackMap stack: java.util.List
        11: iload 3 /* i */
      StackMap locals: javafx.scene.chart.CategoryAxis java.util.List java.util.List int int
      StackMap stack: java.util.List int
        12: aload 1 /* data */
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokeinterface java.util.List.add:(ILjava/lang/Object;)V
        end local 4 // int len
        13: .line 454
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 3 /* i */
            aload 1 /* data */
            invokeinterface java.util.List.size:()I
            if_icmplt 9
        end local 3 // int i
        15: .line 458
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.allDataCategories:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
        16: .line 459
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.allDataCategories:Ljava/util/List;
            aload 2 /* categoryNames */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        17: .line 460
            return
        end local 2 // java.util.List categoryNames
        end local 1 // java.util.List data
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   18     0           this  Ljavafx/scene/chart/CategoryAxis;
            0   18     1           data  Ljava/util/List<Ljava/lang/String;>;
            2   18     2  categoryNames  Ljava/util/List<Ljava/lang/String;>;
            5    6     3            cat  Ljava/lang/String;
            8   15     3              i  I
           10   13     4            len  I
    Signature: (Ljava/util/List<Ljava/lang/String;>;)V
    MethodParameters:
      Name  Flags
      data  

  final java.util.List<java.lang.String> getAllDataCategories();
    descriptor: ()Ljava/util/List;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javafx.scene.chart.CategoryAxis this
         0: .line 463
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.allDataCategories:Ljava/util/List;
            areturn
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavafx/scene/chart/CategoryAxis;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public double getDisplayPosition(java.lang.String);
    descriptor: (Ljava/lang/String;)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // javafx.scene.chart.CategoryAxis this
        start local 1 // java.lang.String value
         0: .line 476
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getCategories:()Ljavafx/collections/ObservableList;
            astore 2 /* cat */
        start local 2 // javafx.collections.ObservableList cat
         1: .line 477
            aload 2 /* cat */
            aload 1 /* value */
            invokeinterface javafx.collections.ObservableList.contains:(Ljava/lang/Object;)Z
            ifne 3
         2: .line 478
            ldc NaN
            dreturn
         3: .line 480
      StackMap locals: javafx.collections.ObservableList
      StackMap stack:
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getEffectiveSide:()Ljavafx/geometry/Side;
            invokevirtual javafx.geometry.Side.isHorizontal:()Z
            ifeq 5
         4: .line 481
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.firstCategoryPos:Ljavafx/beans/property/DoubleProperty;
            invokevirtual javafx.beans.property.DoubleProperty.get:()D
            aload 2 /* cat */
            aload 1 /* value */
            invokeinterface javafx.collections.ObservableList.indexOf:(Ljava/lang/Object;)I
            i2d
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.categorySpacing:Ljavafx/beans/property/ReadOnlyDoubleWrapper;
            invokevirtual javafx.beans.property.ReadOnlyDoubleWrapper.get:()D
            dmul
            dadd
            dreturn
         5: .line 483
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.firstCategoryPos:Ljavafx/beans/property/DoubleProperty;
            invokevirtual javafx.beans.property.DoubleProperty.get:()D
            aload 2 /* cat */
            aload 1 /* value */
            invokeinterface javafx.collections.ObservableList.indexOf:(Ljava/lang/Object;)I
            i2d
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.categorySpacing:Ljavafx/beans/property/ReadOnlyDoubleWrapper;
            invokevirtual javafx.beans.property.ReadOnlyDoubleWrapper.get:()D
            dmul
            ldc -1.0
            dmul
            dadd
            dreturn
        end local 2 // javafx.collections.ObservableList cat
        end local 1 // java.lang.String value
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Ljavafx/scene/chart/CategoryAxis;
            0    6     1  value  Ljava/lang/String;
            1    6     2    cat  Ljavafx/collections/ObservableList<Ljava/lang/String;>;
    MethodParameters:
       Name  Flags
      value  

  public java.lang.String getValueForDisplay(double);
    descriptor: (D)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // javafx.scene.chart.CategoryAxis this
        start local 1 // double displayPosition
         0: .line 496
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getEffectiveSide:()Ljavafx/geometry/Side;
            invokevirtual javafx.geometry.Side.isHorizontal:()Z
            ifeq 5
         1: .line 497
            dload 1 /* displayPosition */
            dconst_0
            dcmpg
            iflt 2
            dload 1 /* displayPosition */
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getWidth:()D
            dcmpl
            ifle 3
      StackMap locals:
      StackMap stack:
         2: aconst_null
            areturn
         3: .line 498
      StackMap locals:
      StackMap stack:
            dload 1 /* displayPosition */
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.firstCategoryPos:Ljavafx/beans/property/DoubleProperty;
            invokevirtual javafx.beans.property.DoubleProperty.get:()D
            dsub
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.categorySpacing:Ljavafx/beans/property/ReadOnlyDoubleWrapper;
            invokevirtual javafx.beans.property.ReadOnlyDoubleWrapper.get:()D
            ddiv
            dstore 3 /* d */
        start local 3 // double d
         4: .line 499
            aload 0 /* this */
            dload 3 /* d */
            invokevirtual javafx.scene.chart.CategoryAxis.toRealValue:(D)Ljava/lang/String;
            areturn
        end local 3 // double d
         5: .line 501
      StackMap locals:
      StackMap stack:
            dload 1 /* displayPosition */
            dconst_0
            dcmpg
            iflt 6
            dload 1 /* displayPosition */
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getHeight:()D
            dcmpl
            ifle 7
      StackMap locals:
      StackMap stack:
         6: aconst_null
            areturn
         7: .line 502
      StackMap locals:
      StackMap stack:
            dload 1 /* displayPosition */
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.firstCategoryPos:Ljavafx/beans/property/DoubleProperty;
            invokevirtual javafx.beans.property.DoubleProperty.get:()D
            dsub
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.categorySpacing:Ljavafx/beans/property/ReadOnlyDoubleWrapper;
            invokevirtual javafx.beans.property.ReadOnlyDoubleWrapper.get:()D
            ldc -1.0
            dmul
            ddiv
            dstore 3 /* d */
        start local 3 // double d
         8: .line 503
            aload 0 /* this */
            dload 3 /* d */
            invokevirtual javafx.scene.chart.CategoryAxis.toRealValue:(D)Ljava/lang/String;
            areturn
        end local 3 // double d
        end local 1 // double displayPosition
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     0             this  Ljavafx/scene/chart/CategoryAxis;
            0    9     1  displayPosition  D
            4    5     3                d  D
            8    9     3                d  D
    MethodParameters:
                 Name  Flags
      displayPosition  

  public boolean isValueOnAxis(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javafx.scene.chart.CategoryAxis this
        start local 1 // java.lang.String value
         0: .line 514
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getCategories:()Ljavafx/collections/ObservableList;
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface javafx.collections.ObservableList.indexOf:(Ljava/lang/Object;)I
            iconst_m1
            if_icmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.String value
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljavafx/scene/chart/CategoryAxis;
            0    2     1  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      value  

  public double toNumericValue(java.lang.String);
    descriptor: (Ljava/lang/String;)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javafx.scene.chart.CategoryAxis this
        start local 1 // java.lang.String value
         0: .line 524
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getCategories:()Ljavafx/collections/ObservableList;
            aload 1 /* value */
            invokeinterface javafx.collections.ObservableList.indexOf:(Ljava/lang/Object;)I
            i2d
            dreturn
        end local 1 // java.lang.String value
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljavafx/scene/chart/CategoryAxis;
            0    1     1  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      value  

  public java.lang.String toRealValue(double);
    descriptor: (D)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // javafx.scene.chart.CategoryAxis this
        start local 1 // double value
         0: .line 534
            dload 1 /* value */
            invokestatic java.lang.Math.round:(D)J
            l2i
            istore 3 /* index */
        start local 3 // int index
         1: .line 535
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getCategories:()Ljavafx/collections/ObservableList;
            astore 4 /* categories */
        start local 4 // java.util.List categories
         2: .line 536
            iload 3 /* index */
            iflt 4
            iload 3 /* index */
            aload 4 /* categories */
            invokeinterface java.util.List.size:()I
            if_icmpge 4
         3: .line 537
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getCategories:()Ljavafx/collections/ObservableList;
            iload 3 /* index */
            invokeinterface javafx.collections.ObservableList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
         4: .line 539
      StackMap locals: int java.util.List
      StackMap stack:
            aconst_null
            areturn
        end local 4 // java.util.List categories
        end local 3 // int index
        end local 1 // double value
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Ljavafx/scene/chart/CategoryAxis;
            0    5     1       value  D
            1    5     3       index  I
            2    5     4  categories  Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
       Name  Flags
      value  

  public double getZeroPosition();
    descriptor: ()D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javafx.scene.chart.CategoryAxis this
         0: .line 550
            ldc NaN
            dreturn
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavafx/scene/chart/CategoryAxis;

  public static java.util.List<javafx.css.CssMetaData<? extends javafx.css.Styleable, ?>> getClassCssMetaData();
    descriptor: ()Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 618
            getstatic javafx.scene.chart.CategoryAxis$StyleableProperties.STYLEABLES:Ljava/util/List;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljava/util/List<Ljavafx/css/CssMetaData<+Ljavafx/css/Styleable;*>;>;

  public java.util.List<javafx.css.CssMetaData<? extends javafx.css.Styleable, ?>> getCssMetaData();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javafx.scene.chart.CategoryAxis this
         0: .line 627
            invokestatic javafx.scene.chart.CategoryAxis.getClassCssMetaData:()Ljava/util/List;
            areturn
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavafx/scene/chart/CategoryAxis;
    Signature: ()Ljava/util/List<Ljavafx/css/CssMetaData<+Ljavafx/css/Styleable;*>;>;

  public java.lang.Object getValueForDisplay(double);
    descriptor: (D)Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=2
         0: .line 1
            aload 0
            dload 1
            invokevirtual javafx.scene.chart.CategoryAxis.getValueForDisplay:(D)Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected javafx.geometry.Dimension2D measureTickMarkSize(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljavafx/geometry/Dimension2D;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast java.lang.String
            aload 2
            invokevirtual javafx.scene.chart.CategoryAxis.measureTickMarkSize:(Ljava/lang/String;Ljava/lang/Object;)Ljavafx/geometry/Dimension2D;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public boolean isValueOnAxis(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.lang.String
            invokevirtual javafx.scene.chart.CategoryAxis.isValueOnAxis:(Ljava/lang/String;)Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public double toNumericValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)D
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.lang.String
            invokevirtual javafx.scene.chart.CategoryAxis.toNumericValue:(Ljava/lang/String;)D
            dreturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public double getDisplayPosition(java.lang.Object);
    descriptor: (Ljava/lang/Object;)D
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.lang.String
            invokevirtual javafx.scene.chart.CategoryAxis.getDisplayPosition:(Ljava/lang/String;)D
            dreturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected java.lang.String getTickMarkLabel(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.lang.String
            invokevirtual javafx.scene.chart.CategoryAxis.getTickMarkLabel:(Ljava/lang/String;)Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.Object toRealValue(double);
    descriptor: (D)Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=2
         0: .line 1
            aload 0
            dload 1
            invokevirtual javafx.scene.chart.CategoryAxis.toRealValue:(D)Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void lambda$0(javafx.collections.ListChangeListener$Change);
    descriptor: (Ljavafx/collections/ListChangeListener$Change;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // javafx.scene.chart.CategoryAxis this
        start local 1 // javafx.collections.ListChangeListener$Change c
         0: .line 77
            goto 11
         1: .line 78
      StackMap locals:
      StackMap stack:
            aload 1 /* c */
            invokevirtual javafx.collections.ListChangeListener$Change.getAddedSubList:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 6
         2: .line 81
            aload 1 /* c */
            invokevirtual javafx.collections.ListChangeListener$Change.getAddedSubList:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: javafx.scene.chart.CategoryAxis javafx.collections.ListChangeListener$Change top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* addedStr */
        start local 2 // java.lang.String addedStr
         4: .line 82
            aload 0 /* this */
            aload 2 /* addedStr */
            invokevirtual javafx.scene.chart.CategoryAxis.checkAndRemoveDuplicates:(Ljava/lang/String;)V
        end local 2 // java.lang.String addedStr
         5: .line 81
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 84
      StackMap locals: javafx.scene.chart.CategoryAxis javafx.collections.ListChangeListener$Change
      StackMap stack:
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.isAutoRanging:()Z
            ifne 10
         7: .line 85
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.allDataCategories:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         8: .line 86
            aload 0 /* this */
            getfield javafx.scene.chart.CategoryAxis.allDataCategories:Ljava/util/List;
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.getCategories:()Ljavafx/collections/ObservableList;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         9: .line 87
            aload 0 /* this */
            iconst_0
            putfield javafx.scene.chart.CategoryAxis.rangeValid:Z
        10: .line 89
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javafx.scene.chart.CategoryAxis.requestAxisLayout:()V
        11: .line 77
      StackMap locals:
      StackMap stack:
            aload 1 /* c */
            invokevirtual javafx.collections.ListChangeListener$Change.next:()Z
            ifne 1
        12: .line 91
            return
        end local 1 // javafx.collections.ListChangeListener$Change c
        end local 0 // javafx.scene.chart.CategoryAxis this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Ljavafx/scene/chart/CategoryAxis;
            0   13     1         c  Ljavafx/collections/ListChangeListener$Change<+Ljava/lang/String;>;
            4    5     2  addedStr  Ljava/lang/String;
}
Signature: Ljavafx/scene/chart/Axis<Ljava/lang/String;>;
SourceFile: "CategoryAxis.java"
NestMembers:
  javafx.scene.chart.CategoryAxis$1  javafx.scene.chart.CategoryAxis$2  javafx.scene.chart.CategoryAxis$3  javafx.scene.chart.CategoryAxis$4  javafx.scene.chart.CategoryAxis$StyleableProperties  javafx.scene.chart.CategoryAxis$StyleableProperties$1  javafx.scene.chart.CategoryAxis$StyleableProperties$2  javafx.scene.chart.CategoryAxis$StyleableProperties$3
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Change = javafx.collections.ListChangeListener$Change of javafx.collections.ListChangeListener
  javafx.scene.chart.CategoryAxis$1
  javafx.scene.chart.CategoryAxis$2
  javafx.scene.chart.CategoryAxis$3
  javafx.scene.chart.CategoryAxis$4
  private StyleableProperties = javafx.scene.chart.CategoryAxis$StyleableProperties of javafx.scene.chart.CategoryAxis