public abstract class javax.xml.datatype.DatatypeFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: javax.xml.datatype.DatatypeFactory
  super_class: java.lang.Object
{
  public static final java.lang.String DATATYPEFACTORY_PROPERTY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "javax.xml.datatype.DatatypeFactory"

  public static final java.lang.String DATATYPEFACTORY_IMPLEMENTATION_CLASS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final java.util.regex.Pattern XDTSCHEMA_YMD;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.regex.Pattern XDTSCHEMA_DTD;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 116
            new java.lang.String
            dup
            ldc "com.sun.org.apache.xerces.internal.jaxp.datatype.DatatypeFactoryImpl"
            invokespecial java.lang.String.<init>:(Ljava/lang/String;)V
         1: .line 113
            putstatic javax.xml.datatype.DatatypeFactory.DATATYPEFACTORY_IMPLEMENTATION_CLASS:Ljava/lang/String;
         2: .line 126
            ldc "[^DT]*"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
         3: .line 125
            putstatic javax.xml.datatype.DatatypeFactory.XDTSCHEMA_YMD:Ljava/util/regex/Pattern;
         4: .line 129
            ldc "[^YM]*[DT].*"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
         5: .line 128
            putstatic javax.xml.datatype.DatatypeFactory.XDTSCHEMA_DTD:Ljava/util/regex/Pattern;
         6: .line 129
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.xml.datatype.DatatypeFactory this
         0: .line 136
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 137
            return
        end local 0 // javax.xml.datatype.DatatypeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/xml/datatype/DatatypeFactory;

  public static javax.xml.datatype.DatatypeFactory newDefaultInstance();
    descriptor: ()Ljavax/xml/datatype/DatatypeFactory;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 150
            new com.sun.org.apache.xerces.internal.jaxp.datatype.DatatypeFactoryImpl
            dup
            invokespecial com.sun.org.apache.xerces.internal.jaxp.datatype.DatatypeFactoryImpl.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static javax.xml.datatype.DatatypeFactory newInstance();
    descriptor: ()Ljavax/xml/datatype/DatatypeFactory;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 171
            ldc Ljavax/xml/datatype/DatatypeFactory;
         1: .line 173
            getstatic javax.xml.datatype.DatatypeFactory.DATATYPEFACTORY_IMPLEMENTATION_CLASS:Ljava/lang/String;
         2: .line 169
            invokestatic javax.xml.datatype.FactoryFinder.find:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
            checkcast javax.xml.datatype.DatatypeFactory
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws javax.xml.datatype.DatatypeConfigurationException

  public static javax.xml.datatype.DatatypeFactory newInstance(java.lang.String, java.lang.ClassLoader);
    descriptor: (Ljava/lang/String;Ljava/lang/ClassLoader;)Ljavax/xml/datatype/DatatypeFactory;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String factoryClassName
        start local 1 // java.lang.ClassLoader classLoader
         0: .line 212
            ldc Ljavax/xml/datatype/DatatypeFactory;
         1: .line 213
            aload 0 /* factoryClassName */
            aload 1 /* classLoader */
            iconst_0
         2: .line 212
            invokestatic javax.xml.datatype.FactoryFinder.newInstance:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/ClassLoader;Z)Ljava/lang/Object;
            checkcast javax.xml.datatype.DatatypeFactory
            areturn
        end local 1 // java.lang.ClassLoader classLoader
        end local 0 // java.lang.String factoryClassName
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0  factoryClassName  Ljava/lang/String;
            0    3     1       classLoader  Ljava/lang/ClassLoader;
    Exceptions:
      throws javax.xml.datatype.DatatypeConfigurationException
    MethodParameters:
                  Name  Flags
      factoryClassName  
      classLoader       

  public abstract javax.xml.datatype.Duration newDuration(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/xml/datatype/Duration;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                       Name  Flags
      lexicalRepresentation  final

  public abstract javax.xml.datatype.Duration newDuration(long);
    descriptor: (J)Ljavax/xml/datatype/Duration;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                        Name  Flags
      durationInMilliSeconds  final

  public abstract javax.xml.datatype.Duration newDuration(boolean, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigDecimal);
    descriptor: (ZLjava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigDecimal;)Ljavax/xml/datatype/Duration;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      isPositive  final
      years       final
      months      final
      days        final
      hours       final
      minutes     final
      seconds     final

  public javax.xml.datatype.Duration newDuration(boolean, int, int, int, int, int, int);
    descriptor: (ZIIIIII)Ljavax/xml/datatype/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=14, args_size=8
        start local 0 // javax.xml.datatype.DatatypeFactory this
        start local 1 // boolean isPositive
        start local 2 // int years
        start local 3 // int months
        start local 4 // int days
        start local 5 // int hours
        start local 6 // int minutes
        start local 7 // int seconds
         0: .line 358
            iload 2 /* years */
            ldc -2147483648
            if_icmpeq 1
            iload 2 /* years */
            i2l
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: java.math.BigInteger
         2: astore 8 /* realYears */
        start local 8 // java.math.BigInteger realYears
         3: .line 361
            iload 3 /* months */
            ldc -2147483648
            if_icmpeq 4
            iload 3 /* months */
            i2l
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            goto 5
      StackMap locals: java.math.BigInteger
      StackMap stack:
         4: aconst_null
      StackMap locals:
      StackMap stack: java.math.BigInteger
         5: astore 9 /* realMonths */
        start local 9 // java.math.BigInteger realMonths
         6: .line 364
            iload 4 /* days */
            ldc -2147483648
            if_icmpeq 7
            iload 4 /* days */
            i2l
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            goto 8
      StackMap locals: java.math.BigInteger
      StackMap stack:
         7: aconst_null
      StackMap locals:
      StackMap stack: java.math.BigInteger
         8: astore 10 /* realDays */
        start local 10 // java.math.BigInteger realDays
         9: .line 367
            iload 5 /* hours */
            ldc -2147483648
            if_icmpeq 10
            iload 5 /* hours */
            i2l
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            goto 11
      StackMap locals: java.math.BigInteger
      StackMap stack:
        10: aconst_null
      StackMap locals:
      StackMap stack: java.math.BigInteger
        11: astore 11 /* realHours */
        start local 11 // java.math.BigInteger realHours
        12: .line 370
            iload 6 /* minutes */
            ldc -2147483648
            if_icmpeq 13
            iload 6 /* minutes */
            i2l
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            goto 14
      StackMap locals: java.math.BigInteger
      StackMap stack:
        13: aconst_null
      StackMap locals:
      StackMap stack: java.math.BigInteger
        14: astore 12 /* realMinutes */
        start local 12 // java.math.BigInteger realMinutes
        15: .line 373
            iload 7 /* seconds */
            ldc -2147483648
            if_icmpeq 16
            iload 7 /* seconds */
            i2l
            invokestatic java.math.BigDecimal.valueOf:(J)Ljava/math/BigDecimal;
            goto 17
      StackMap locals: java.math.BigInteger
      StackMap stack:
        16: aconst_null
      StackMap locals:
      StackMap stack: java.math.BigDecimal
        17: astore 13 /* realSeconds */
        start local 13 // java.math.BigDecimal realSeconds
        18: .line 375
            aload 0 /* this */
        19: .line 376
            iload 1 /* isPositive */
        20: .line 377
            aload 8 /* realYears */
        21: .line 378
            aload 9 /* realMonths */
        22: .line 379
            aload 10 /* realDays */
        23: .line 380
            aload 11 /* realHours */
        24: .line 381
            aload 12 /* realMinutes */
        25: .line 382
            aload 13 /* realSeconds */
        26: .line 375
            invokevirtual javax.xml.datatype.DatatypeFactory.newDuration:(ZLjava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigDecimal;)Ljavax/xml/datatype/Duration;
            areturn
        end local 13 // java.math.BigDecimal realSeconds
        end local 12 // java.math.BigInteger realMinutes
        end local 11 // java.math.BigInteger realHours
        end local 10 // java.math.BigInteger realDays
        end local 9 // java.math.BigInteger realMonths
        end local 8 // java.math.BigInteger realYears
        end local 7 // int seconds
        end local 6 // int minutes
        end local 5 // int hours
        end local 4 // int days
        end local 3 // int months
        end local 2 // int years
        end local 1 // boolean isPositive
        end local 0 // javax.xml.datatype.DatatypeFactory this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   27     0         this  Ljavax/xml/datatype/DatatypeFactory;
            0   27     1   isPositive  Z
            0   27     2        years  I
            0   27     3       months  I
            0   27     4         days  I
            0   27     5        hours  I
            0   27     6      minutes  I
            0   27     7      seconds  I
            3   27     8    realYears  Ljava/math/BigInteger;
            6   27     9   realMonths  Ljava/math/BigInteger;
            9   27    10     realDays  Ljava/math/BigInteger;
           12   27    11    realHours  Ljava/math/BigInteger;
           15   27    12  realMinutes  Ljava/math/BigInteger;
           18   27    13  realSeconds  Ljava/math/BigDecimal;
    MethodParameters:
            Name  Flags
      isPositive  final
      years       final
      months      final
      days        final
      hours       final
      minutes     final
      seconds     final

  public javax.xml.datatype.Duration newDurationDayTime(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/xml/datatype/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // javax.xml.datatype.DatatypeFactory this
        start local 1 // java.lang.String lexicalRepresentation
         0: .line 414
            aload 1 /* lexicalRepresentation */
            ifnonnull 4
         1: .line 415
            new java.lang.NullPointerException
            dup
         2: .line 416
            ldc "Trying to create an xdt:dayTimeDuration with an invalid lexical representation of \"null\""
         3: .line 415
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 421
      StackMap locals:
      StackMap stack:
            getstatic javax.xml.datatype.DatatypeFactory.XDTSCHEMA_DTD:Ljava/util/regex/Pattern;
            aload 1 /* lexicalRepresentation */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 2 /* matcher */
        start local 2 // java.util.regex.Matcher matcher
         5: .line 422
            aload 2 /* matcher */
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifne 12
         6: .line 423
            new java.lang.IllegalArgumentException
            dup
         7: .line 424
            new java.lang.StringBuilder
            dup
            ldc "Trying to create an xdt:dayTimeDuration with an invalid lexical representation of \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         8: .line 425
            aload 1 /* lexicalRepresentation */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 426
            ldc "\", data model requires years and months only."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 424
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 423
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 429
      StackMap locals: java.util.regex.Matcher
      StackMap stack:
            aload 0 /* this */
            aload 1 /* lexicalRepresentation */
            invokevirtual javax.xml.datatype.DatatypeFactory.newDuration:(Ljava/lang/String;)Ljavax/xml/datatype/Duration;
            areturn
        end local 2 // java.util.regex.Matcher matcher
        end local 1 // java.lang.String lexicalRepresentation
        end local 0 // javax.xml.datatype.DatatypeFactory this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   13     0                   this  Ljavax/xml/datatype/DatatypeFactory;
            0   13     1  lexicalRepresentation  Ljava/lang/String;
            5   13     2                matcher  Ljava/util/regex/Matcher;
    MethodParameters:
                       Name  Flags
      lexicalRepresentation  final

  public javax.xml.datatype.Duration newDurationDayTime(long);
    descriptor: (J)Ljavax/xml/datatype/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // javax.xml.datatype.DatatypeFactory this
        start local 1 // long durationInMilliseconds
         0: .line 472
            aload 0 /* this */
            lload 1 /* durationInMilliseconds */
            invokevirtual javax.xml.datatype.DatatypeFactory.newDuration:(J)Ljavax/xml/datatype/Duration;
            areturn
        end local 1 // long durationInMilliseconds
        end local 0 // javax.xml.datatype.DatatypeFactory this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    1     0                    this  Ljavax/xml/datatype/DatatypeFactory;
            0    1     1  durationInMilliseconds  J
    MethodParameters:
                        Name  Flags
      durationInMilliseconds  final

  public javax.xml.datatype.Duration newDurationDayTime(boolean, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
    descriptor: (ZLjava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljavax/xml/datatype/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=6, args_size=6
        start local 0 // javax.xml.datatype.DatatypeFactory this
        start local 1 // boolean isPositive
        start local 2 // java.math.BigInteger day
        start local 3 // java.math.BigInteger hour
        start local 4 // java.math.BigInteger minute
        start local 5 // java.math.BigInteger second
         0: .line 514
            aload 0 /* this */
         1: .line 515
            iload 1 /* isPositive */
         2: .line 516
            aconst_null
         3: .line 517
            aconst_null
         4: .line 518
            aload 2 /* day */
         5: .line 519
            aload 3 /* hour */
         6: .line 520
            aload 4 /* minute */
         7: .line 521
            aload 5 /* second */
            ifnull 8
            new java.math.BigDecimal
            dup
            aload 5 /* second */
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;)V
            goto 9
      StackMap locals: javax.xml.datatype.DatatypeFactory int java.math.BigInteger java.math.BigInteger java.math.BigInteger java.math.BigInteger
      StackMap stack: javax.xml.datatype.DatatypeFactory int null null java.math.BigInteger java.math.BigInteger java.math.BigInteger
         8: aconst_null
         9: .line 514
      StackMap locals: javax.xml.datatype.DatatypeFactory int java.math.BigInteger java.math.BigInteger java.math.BigInteger java.math.BigInteger
      StackMap stack: javax.xml.datatype.DatatypeFactory int null null java.math.BigInteger java.math.BigInteger java.math.BigInteger java.math.BigDecimal
            invokevirtual javax.xml.datatype.DatatypeFactory.newDuration:(ZLjava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigDecimal;)Ljavax/xml/datatype/Duration;
            areturn
        end local 5 // java.math.BigInteger second
        end local 4 // java.math.BigInteger minute
        end local 3 // java.math.BigInteger hour
        end local 2 // java.math.BigInteger day
        end local 1 // boolean isPositive
        end local 0 // javax.xml.datatype.DatatypeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Ljavax/xml/datatype/DatatypeFactory;
            0   10     1  isPositive  Z
            0   10     2         day  Ljava/math/BigInteger;
            0   10     3        hour  Ljava/math/BigInteger;
            0   10     4      minute  Ljava/math/BigInteger;
            0   10     5      second  Ljava/math/BigInteger;
    MethodParameters:
            Name  Flags
      isPositive  final
      day         final
      hour        final
      minute      final
      second      final

  public javax.xml.datatype.Duration newDurationDayTime(boolean, int, int, int, int);
    descriptor: (ZIIII)Ljavax/xml/datatype/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // javax.xml.datatype.DatatypeFactory this
        start local 1 // boolean isPositive
        start local 2 // int day
        start local 3 // int hour
        start local 4 // int minute
        start local 5 // int second
         0: .line 557
            aload 0 /* this */
         1: .line 558
            iload 1 /* isPositive */
         2: .line 559
            iload 2 /* day */
            i2l
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
         3: .line 560
            iload 3 /* hour */
            i2l
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
         4: .line 561
            iload 4 /* minute */
            i2l
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
         5: .line 562
            iload 5 /* second */
            i2l
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
         6: .line 557
            invokevirtual javax.xml.datatype.DatatypeFactory.newDurationDayTime:(ZLjava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljavax/xml/datatype/Duration;
            areturn
        end local 5 // int second
        end local 4 // int minute
        end local 3 // int hour
        end local 2 // int day
        end local 1 // boolean isPositive
        end local 0 // javax.xml.datatype.DatatypeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Ljavax/xml/datatype/DatatypeFactory;
            0    7     1  isPositive  Z
            0    7     2         day  I
            0    7     3        hour  I
            0    7     4      minute  I
            0    7     5      second  I
    MethodParameters:
            Name  Flags
      isPositive  final
      day         final
      hour        final
      minute      final
      second      final

  public javax.xml.datatype.Duration newDurationYearMonth(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/xml/datatype/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // javax.xml.datatype.DatatypeFactory this
        start local 1 // java.lang.String lexicalRepresentation
         0: .line 596
            aload 1 /* lexicalRepresentation */
            ifnonnull 4
         1: .line 597
            new java.lang.NullPointerException
            dup
         2: .line 598
            ldc "Trying to create an xdt:yearMonthDuration with an invalid lexical representation of \"null\""
         3: .line 597
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 603
      StackMap locals:
      StackMap stack:
            getstatic javax.xml.datatype.DatatypeFactory.XDTSCHEMA_YMD:Ljava/util/regex/Pattern;
            aload 1 /* lexicalRepresentation */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 2 /* matcher */
        start local 2 // java.util.regex.Matcher matcher
         5: .line 604
            aload 2 /* matcher */
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifne 12
         6: .line 605
            new java.lang.IllegalArgumentException
            dup
         7: .line 606
            new java.lang.StringBuilder
            dup
            ldc "Trying to create an xdt:yearMonthDuration with an invalid lexical representation of \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         8: .line 607
            aload 1 /* lexicalRepresentation */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 608
            ldc "\", data model requires days and times only."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 606
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 605
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 611
      StackMap locals: java.util.regex.Matcher
      StackMap stack:
            aload 0 /* this */
            aload 1 /* lexicalRepresentation */
            invokevirtual javax.xml.datatype.DatatypeFactory.newDuration:(Ljava/lang/String;)Ljavax/xml/datatype/Duration;
            areturn
        end local 2 // java.util.regex.Matcher matcher
        end local 1 // java.lang.String lexicalRepresentation
        end local 0 // javax.xml.datatype.DatatypeFactory this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   13     0                   this  Ljavax/xml/datatype/DatatypeFactory;
            0   13     1  lexicalRepresentation  Ljava/lang/String;
            5   13     2                matcher  Ljava/util/regex/Matcher;
    MethodParameters:
                       Name  Flags
      lexicalRepresentation  final

  public javax.xml.datatype.Duration newDurationYearMonth(long);
    descriptor: (J)Ljavax/xml/datatype/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // javax.xml.datatype.DatatypeFactory this
        start local 1 // long durationInMilliseconds
         0: .line 655
            aload 0 /* this */
            lload 1 /* durationInMilliseconds */
            invokevirtual javax.xml.datatype.DatatypeFactory.newDuration:(J)Ljavax/xml/datatype/Duration;
            astore 3 /* fullDuration */
        start local 3 // javax.xml.datatype.Duration fullDuration
         1: .line 656
            aload 3 /* fullDuration */
            invokevirtual javax.xml.datatype.Duration.getSign:()I
            iconst_m1
            if_icmpne 2
            iconst_0
            goto 3
      StackMap locals: javax.xml.datatype.Duration
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: istore 4 /* isPositive */
        start local 4 // boolean isPositive
         4: .line 658
            aload 3 /* fullDuration */
            getstatic javax.xml.datatype.DatatypeConstants.YEARS:Ljavax/xml/datatype/DatatypeConstants$Field;
            invokevirtual javax.xml.datatype.Duration.getField:(Ljavax/xml/datatype/DatatypeConstants$Field;)Ljava/lang/Number;
            checkcast java.math.BigInteger
         5: .line 657
            astore 5 /* years */
        start local 5 // java.math.BigInteger years
         6: .line 659
            aload 5 /* years */
            ifnonnull 7
            getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
            astore 5 /* years */
         7: .line 661
      StackMap locals: int java.math.BigInteger
      StackMap stack:
            aload 3 /* fullDuration */
            getstatic javax.xml.datatype.DatatypeConstants.MONTHS:Ljavax/xml/datatype/DatatypeConstants$Field;
            invokevirtual javax.xml.datatype.Duration.getField:(Ljavax/xml/datatype/DatatypeConstants$Field;)Ljava/lang/Number;
            checkcast java.math.BigInteger
         8: .line 660
            astore 6 /* months */
        start local 6 // java.math.BigInteger months
         9: .line 662
            aload 6 /* months */
            ifnonnull 10
            getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
            astore 6 /* months */
        10: .line 664
      StackMap locals: java.math.BigInteger
      StackMap stack:
            aload 0 /* this */
            iload 4 /* isPositive */
            aload 5 /* years */
            aload 6 /* months */
            invokevirtual javax.xml.datatype.DatatypeFactory.newDurationYearMonth:(ZLjava/math/BigInteger;Ljava/math/BigInteger;)Ljavax/xml/datatype/Duration;
            areturn
        end local 6 // java.math.BigInteger months
        end local 5 // java.math.BigInteger years
        end local 4 // boolean isPositive
        end local 3 // javax.xml.datatype.Duration fullDuration
        end local 1 // long durationInMilliseconds
        end local 0 // javax.xml.datatype.DatatypeFactory this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   11     0                    this  Ljavax/xml/datatype/DatatypeFactory;
            0   11     1  durationInMilliseconds  J
            1   11     3            fullDuration  Ljavax/xml/datatype/Duration;
            4   11     4              isPositive  Z
            6   11     5                   years  Ljava/math/BigInteger;
            9   11     6                  months  Ljava/math/BigInteger;
    MethodParameters:
                        Name  Flags
      durationInMilliseconds  final

  public javax.xml.datatype.Duration newDurationYearMonth(boolean, java.math.BigInteger, java.math.BigInteger);
    descriptor: (ZLjava/math/BigInteger;Ljava/math/BigInteger;)Ljavax/xml/datatype/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=4
        start local 0 // javax.xml.datatype.DatatypeFactory this
        start local 1 // boolean isPositive
        start local 2 // java.math.BigInteger year
        start local 3 // java.math.BigInteger month
         0: .line 697
            aload 0 /* this */
         1: .line 698
            iload 1 /* isPositive */
         2: .line 699
            aload 2 /* year */
         3: .line 700
            aload 3 /* month */
         4: .line 701
            aconst_null
         5: .line 702
            aconst_null
         6: .line 703
            aconst_null
         7: .line 704
            aconst_null
         8: .line 697
            invokevirtual javax.xml.datatype.DatatypeFactory.newDuration:(ZLjava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigDecimal;)Ljavax/xml/datatype/Duration;
            areturn
        end local 3 // java.math.BigInteger month
        end local 2 // java.math.BigInteger year
        end local 1 // boolean isPositive
        end local 0 // javax.xml.datatype.DatatypeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Ljavax/xml/datatype/DatatypeFactory;
            0    9     1  isPositive  Z
            0    9     2        year  Ljava/math/BigInteger;
            0    9     3       month  Ljava/math/BigInteger;
    MethodParameters:
            Name  Flags
      isPositive  final
      year        final
      month       final

  public javax.xml.datatype.Duration newDurationYearMonth(boolean, int, int);
    descriptor: (ZII)Ljavax/xml/datatype/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // javax.xml.datatype.DatatypeFactory this
        start local 1 // boolean isPositive
        start local 2 // int year
        start local 3 // int month
         0: .line 731
            aload 0 /* this */
         1: .line 732
            iload 1 /* isPositive */
         2: .line 733
            iload 2 /* year */
            i2l
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
         3: .line 734
            iload 3 /* month */
            i2l
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
         4: .line 731
            invokevirtual javax.xml.datatype.DatatypeFactory.newDurationYearMonth:(ZLjava/math/BigInteger;Ljava/math/BigInteger;)Ljavax/xml/datatype/Duration;
            areturn
        end local 3 // int month
        end local 2 // int year
        end local 1 // boolean isPositive
        end local 0 // javax.xml.datatype.DatatypeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Ljavax/xml/datatype/DatatypeFactory;
            0    5     1  isPositive  Z
            0    5     2        year  I
            0    5     3       month  I
    MethodParameters:
            Name  Flags
      isPositive  final
      year        final
      month       final

  public abstract javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendar();
    descriptor: ()Ljavax/xml/datatype/XMLGregorianCalendar;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendar(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/xml/datatype/XMLGregorianCalendar;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                       Name  Flags
      lexicalRepresentation  final

  public abstract javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendar(java.util.GregorianCalendar);
    descriptor: (Ljava/util/GregorianCalendar;)Ljavax/xml/datatype/XMLGregorianCalendar;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      cal   final

  public abstract javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendar(java.math.BigInteger, int, int, int, int, int, java.math.BigDecimal, int);
    descriptor: (Ljava/math/BigInteger;IIIIILjava/math/BigDecimal;I)Ljavax/xml/datatype/XMLGregorianCalendar;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                  Name  Flags
      year              final
      month             final
      day               final
      hour              final
      minute            final
      second            final
      fractionalSecond  final
      timezone          final

  public javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendar(int, int, int, int, int, int, int, int);
    descriptor: (IIIIIIII)Ljavax/xml/datatype/XMLGregorianCalendar;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=11, args_size=9
        start local 0 // javax.xml.datatype.DatatypeFactory this
        start local 1 // int year
        start local 2 // int month
        start local 3 // int day
        start local 4 // int hour
        start local 5 // int minute
        start local 6 // int second
        start local 7 // int millisecond
        start local 8 // int timezone
         0: .line 907
            iload 1 /* year */
            ldc -2147483648
            if_icmpeq 1
            iload 1 /* year */
            i2l
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: java.math.BigInteger
         2: astore 9 /* realYear */
        start local 9 // java.math.BigInteger realYear
         3: .line 911
            aconst_null
            astore 10 /* realMillisecond */
        start local 10 // java.math.BigDecimal realMillisecond
         4: .line 912
            iload 7 /* millisecond */
            ldc -2147483648
            if_icmpeq 12
         5: .line 913
            iload 7 /* millisecond */
            iflt 6
            iload 7 /* millisecond */
            sipush 1000
            if_icmple 11
         6: .line 914
      StackMap locals: java.math.BigInteger java.math.BigDecimal
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
         7: .line 915
            new java.lang.StringBuilder
            dup
            ldc "javax.xml.datatype.DatatypeFactory#newXMLGregorianCalendar(int year, int month, int day, int hour, int minute, int second, int millisecond, int timezone)with invalid millisecond: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         8: .line 917
            iload 7 /* millisecond */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         9: .line 915
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 914
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 921
      StackMap locals:
      StackMap stack:
            iload 7 /* millisecond */
            i2l
            invokestatic java.math.BigDecimal.valueOf:(J)Ljava/math/BigDecimal;
            iconst_3
            invokevirtual java.math.BigDecimal.movePointLeft:(I)Ljava/math/BigDecimal;
            astore 10 /* realMillisecond */
        12: .line 924
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        13: .line 925
            aload 9 /* realYear */
        14: .line 926
            iload 2 /* month */
        15: .line 927
            iload 3 /* day */
        16: .line 928
            iload 4 /* hour */
        17: .line 929
            iload 5 /* minute */
        18: .line 930
            iload 6 /* second */
        19: .line 931
            aload 10 /* realMillisecond */
        20: .line 932
            iload 8 /* timezone */
        21: .line 924
            invokevirtual javax.xml.datatype.DatatypeFactory.newXMLGregorianCalendar:(Ljava/math/BigInteger;IIIIILjava/math/BigDecimal;I)Ljavax/xml/datatype/XMLGregorianCalendar;
            areturn
        end local 10 // java.math.BigDecimal realMillisecond
        end local 9 // java.math.BigInteger realYear
        end local 8 // int timezone
        end local 7 // int millisecond
        end local 6 // int second
        end local 5 // int minute
        end local 4 // int hour
        end local 3 // int day
        end local 2 // int month
        end local 1 // int year
        end local 0 // javax.xml.datatype.DatatypeFactory this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   22     0             this  Ljavax/xml/datatype/DatatypeFactory;
            0   22     1             year  I
            0   22     2            month  I
            0   22     3              day  I
            0   22     4             hour  I
            0   22     5           minute  I
            0   22     6           second  I
            0   22     7      millisecond  I
            0   22     8         timezone  I
            3   22     9         realYear  Ljava/math/BigInteger;
            4   22    10  realMillisecond  Ljava/math/BigDecimal;
    MethodParameters:
             Name  Flags
      year         final
      month        final
      day          final
      hour         final
      minute       final
      second       final
      millisecond  final
      timezone     final

  public javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendarDate(int, int, int, int);
    descriptor: (IIII)Ljavax/xml/datatype/XMLGregorianCalendar;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=5, args_size=5
        start local 0 // javax.xml.datatype.DatatypeFactory this
        start local 1 // int year
        start local 2 // int month
        start local 3 // int day
        start local 4 // int timezone
         0: .line 965
            aload 0 /* this */
         1: .line 966
            iload 1 /* year */
         2: .line 967
            iload 2 /* month */
         3: .line 968
            iload 3 /* day */
         4: .line 969
            ldc -2147483648
         5: .line 970
            ldc -2147483648
         6: .line 971
            ldc -2147483648
         7: .line 972
            ldc -2147483648
         8: .line 973
            iload 4 /* timezone */
         9: .line 965
            invokevirtual javax.xml.datatype.DatatypeFactory.newXMLGregorianCalendar:(IIIIIIII)Ljavax/xml/datatype/XMLGregorianCalendar;
            areturn
        end local 4 // int timezone
        end local 3 // int day
        end local 2 // int month
        end local 1 // int year
        end local 0 // javax.xml.datatype.DatatypeFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Ljavax/xml/datatype/DatatypeFactory;
            0   10     1      year  I
            0   10     2     month  I
            0   10     3       day  I
            0   10     4  timezone  I
    MethodParameters:
          Name  Flags
      year      final
      month     final
      day       final
      timezone  final

  public javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendarTime(int, int, int, int);
    descriptor: (IIII)Ljavax/xml/datatype/XMLGregorianCalendar;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=5, args_size=5
        start local 0 // javax.xml.datatype.DatatypeFactory this
        start local 1 // int hours
        start local 2 // int minutes
        start local 3 // int seconds
        start local 4 // int timezone
         0: .line 1001
            aload 0 /* this */
         1: .line 1002
            ldc -2147483648
         2: .line 1003
            ldc -2147483648
         3: .line 1004
            ldc -2147483648
         4: .line 1005
            iload 1 /* hours */
         5: .line 1006
            iload 2 /* minutes */
         6: .line 1007
            iload 3 /* seconds */
         7: .line 1008
            ldc -2147483648
         8: .line 1009
            iload 4 /* timezone */
         9: .line 1001
            invokevirtual javax.xml.datatype.DatatypeFactory.newXMLGregorianCalendar:(IIIIIIII)Ljavax/xml/datatype/XMLGregorianCalendar;
            areturn
        end local 4 // int timezone
        end local 3 // int seconds
        end local 2 // int minutes
        end local 1 // int hours
        end local 0 // javax.xml.datatype.DatatypeFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Ljavax/xml/datatype/DatatypeFactory;
            0   10     1     hours  I
            0   10     2   minutes  I
            0   10     3   seconds  I
            0   10     4  timezone  I
    MethodParameters:
          Name  Flags
      hours     final
      minutes   final
      seconds   final
      timezone  final

  public javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendarTime(int, int, int, java.math.BigDecimal, int);
    descriptor: (IIILjava/math/BigDecimal;I)Ljavax/xml/datatype/XMLGregorianCalendar;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=6, args_size=6
        start local 0 // javax.xml.datatype.DatatypeFactory this
        start local 1 // int hours
        start local 2 // int minutes
        start local 3 // int seconds
        start local 4 // java.math.BigDecimal fractionalSecond
        start local 5 // int timezone
         0: .line 1040
            aload 0 /* this */
         1: .line 1041
            aconst_null
         2: .line 1042
            ldc -2147483648
         3: .line 1043
            ldc -2147483648
         4: .line 1044
            iload 1 /* hours */
         5: .line 1045
            iload 2 /* minutes */
         6: .line 1046
            iload 3 /* seconds */
         7: .line 1047
            aload 4 /* fractionalSecond */
         8: .line 1048
            iload 5 /* timezone */
         9: .line 1040
            invokevirtual javax.xml.datatype.DatatypeFactory.newXMLGregorianCalendar:(Ljava/math/BigInteger;IIIIILjava/math/BigDecimal;I)Ljavax/xml/datatype/XMLGregorianCalendar;
            areturn
        end local 5 // int timezone
        end local 4 // java.math.BigDecimal fractionalSecond
        end local 3 // int seconds
        end local 2 // int minutes
        end local 1 // int hours
        end local 0 // javax.xml.datatype.DatatypeFactory this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0              this  Ljavax/xml/datatype/DatatypeFactory;
            0   10     1             hours  I
            0   10     2           minutes  I
            0   10     3           seconds  I
            0   10     4  fractionalSecond  Ljava/math/BigDecimal;
            0   10     5          timezone  I
    MethodParameters:
                  Name  Flags
      hours             final
      minutes           final
      seconds           final
      fractionalSecond  final
      timezone          final

  public javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendarTime(int, int, int, int, int);
    descriptor: (IIIII)Ljavax/xml/datatype/XMLGregorianCalendar;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=6
        start local 0 // javax.xml.datatype.DatatypeFactory this
        start local 1 // int hours
        start local 2 // int minutes
        start local 3 // int seconds
        start local 4 // int milliseconds
        start local 5 // int timezone
         0: .line 1080
            aconst_null
            astore 6 /* realMilliseconds */
        start local 6 // java.math.BigDecimal realMilliseconds
         1: .line 1081
            iload 4 /* milliseconds */
            ldc -2147483648
            if_icmpeq 9
         2: .line 1082
            iload 4 /* milliseconds */
            iflt 3
            iload 4 /* milliseconds */
            sipush 1000
            if_icmple 8
         3: .line 1083
      StackMap locals: java.math.BigDecimal
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
         4: .line 1084
            new java.lang.StringBuilder
            dup
            ldc "javax.xml.datatype.DatatypeFactory#newXMLGregorianCalendarTime(int hours, int minutes, int seconds, int milliseconds, int timezone)with invalid milliseconds: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         5: .line 1086
            iload 4 /* milliseconds */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         6: .line 1084
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 1083
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 1090
      StackMap locals:
      StackMap stack:
            iload 4 /* milliseconds */
            i2l
            invokestatic java.math.BigDecimal.valueOf:(J)Ljava/math/BigDecimal;
            iconst_3
            invokevirtual java.math.BigDecimal.movePointLeft:(I)Ljava/math/BigDecimal;
            astore 6 /* realMilliseconds */
         9: .line 1093
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        10: .line 1094
            iload 1 /* hours */
        11: .line 1095
            iload 2 /* minutes */
        12: .line 1096
            iload 3 /* seconds */
        13: .line 1097
            aload 6 /* realMilliseconds */
        14: .line 1098
            iload 5 /* timezone */
        15: .line 1093
            invokevirtual javax.xml.datatype.DatatypeFactory.newXMLGregorianCalendarTime:(IIILjava/math/BigDecimal;I)Ljavax/xml/datatype/XMLGregorianCalendar;
            areturn
        end local 6 // java.math.BigDecimal realMilliseconds
        end local 5 // int timezone
        end local 4 // int milliseconds
        end local 3 // int seconds
        end local 2 // int minutes
        end local 1 // int hours
        end local 0 // javax.xml.datatype.DatatypeFactory this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   16     0              this  Ljavax/xml/datatype/DatatypeFactory;
            0   16     1             hours  I
            0   16     2           minutes  I
            0   16     3           seconds  I
            0   16     4      milliseconds  I
            0   16     5          timezone  I
            1   16     6  realMilliseconds  Ljava/math/BigDecimal;
    MethodParameters:
              Name  Flags
      hours         final
      minutes       final
      seconds       final
      milliseconds  final
      timezone      final
}
SourceFile: "DatatypeFactory.java"
InnerClasses:
  public final Field = javax.xml.datatype.DatatypeConstants$Field of javax.xml.datatype.DatatypeConstants