abstract class com.sun.xml.internal.bind.v2.schemagen.Tree
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: com.sun.xml.internal.bind.v2.schemagen.Tree
  super_class: java.lang.Object
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.xml.internal.bind.v2.schemagen.Tree this
         0: .line 46
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.sun.xml.internal.bind.v2.schemagen.Tree this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/xml/internal/bind/v2/schemagen/Tree;

  com.sun.xml.internal.bind.v2.schemagen.Tree makeOptional(boolean);
    descriptor: (Z)Lcom/sun/xml/internal/bind/v2/schemagen/Tree;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.xml.internal.bind.v2.schemagen.Tree this
        start local 1 // boolean really
         0: .line 56
            iload 1 /* really */
            ifeq 1
            new com.sun.xml.internal.bind.v2.schemagen.Tree$Optional
            dup
            aload 0 /* this */
            invokespecial com.sun.xml.internal.bind.v2.schemagen.Tree$Optional.<init>:(Lcom/sun/xml/internal/bind/v2/schemagen/Tree;)V
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
      StackMap locals:
      StackMap stack: com.sun.xml.internal.bind.v2.schemagen.Tree
         2: areturn
        end local 1 // boolean really
        end local 0 // com.sun.xml.internal.bind.v2.schemagen.Tree this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lcom/sun/xml/internal/bind/v2/schemagen/Tree;
            0    3     1  really  Z
    MethodParameters:
        Name  Flags
      really  

  com.sun.xml.internal.bind.v2.schemagen.Tree makeRepeated(boolean);
    descriptor: (Z)Lcom/sun/xml/internal/bind/v2/schemagen/Tree;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.xml.internal.bind.v2.schemagen.Tree this
        start local 1 // boolean really
         0: .line 67
            iload 1 /* really */
            ifeq 1
            new com.sun.xml.internal.bind.v2.schemagen.Tree$Repeated
            dup
            aload 0 /* this */
            invokespecial com.sun.xml.internal.bind.v2.schemagen.Tree$Repeated.<init>:(Lcom/sun/xml/internal/bind/v2/schemagen/Tree;)V
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
      StackMap locals:
      StackMap stack: com.sun.xml.internal.bind.v2.schemagen.Tree
         2: areturn
        end local 1 // boolean really
        end local 0 // com.sun.xml.internal.bind.v2.schemagen.Tree this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lcom/sun/xml/internal/bind/v2/schemagen/Tree;
            0    3     1  really  Z
    MethodParameters:
        Name  Flags
      really  

  static com.sun.xml.internal.bind.v2.schemagen.Tree makeGroup(com.sun.xml.internal.bind.v2.schemagen.GroupKind, java.util.List<com.sun.xml.internal.bind.v2.schemagen.Tree>);
    descriptor: (Lcom/sun/xml/internal/bind/v2/schemagen/GroupKind;Ljava/util/List;)Lcom/sun/xml/internal/bind/v2/schemagen/Tree;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // com.sun.xml.internal.bind.v2.schemagen.GroupKind kind
        start local 1 // java.util.List children
         0: .line 75
            aload 1 /* children */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 2
         1: .line 76
            aload 1 /* children */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.sun.xml.internal.bind.v2.schemagen.Tree
            areturn
         2: .line 82
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            aload 1 /* children */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* normalizedChildren */
        start local 2 // java.util.List normalizedChildren
         3: .line 83
            aload 1 /* children */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 11
      StackMap locals: com.sun.xml.internal.bind.v2.schemagen.GroupKind java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.xml.internal.bind.v2.schemagen.Tree
            astore 3 /* t */
        start local 3 // com.sun.xml.internal.bind.v2.schemagen.Tree t
         5: .line 84
            aload 3 /* t */
            instanceof com.sun.xml.internal.bind.v2.schemagen.Tree$Group
            ifeq 10
         6: .line 85
            aload 3 /* t */
            checkcast com.sun.xml.internal.bind.v2.schemagen.Tree$Group
            astore 5 /* g */
        start local 5 // com.sun.xml.internal.bind.v2.schemagen.Tree$Group g
         7: .line 86
            aload 5 /* g */
            getfield com.sun.xml.internal.bind.v2.schemagen.Tree$Group.kind:Lcom/sun/xml/internal/bind/v2/schemagen/GroupKind;
            aload 0 /* kind */
            if_acmpne 10
         8: .line 87
            aload 2 /* normalizedChildren */
            aload 5 /* g */
            getfield com.sun.xml.internal.bind.v2.schemagen.Tree$Group.children:[Lcom/sun/xml/internal/bind/v2/schemagen/Tree;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         9: .line 88
            goto 11
        end local 5 // com.sun.xml.internal.bind.v2.schemagen.Tree$Group g
        10: .line 91
      StackMap locals: com.sun.xml.internal.bind.v2.schemagen.GroupKind java.util.List java.util.List com.sun.xml.internal.bind.v2.schemagen.Tree java.util.Iterator
      StackMap stack:
            aload 2 /* normalizedChildren */
            aload 3 /* t */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // com.sun.xml.internal.bind.v2.schemagen.Tree t
        11: .line 83
      StackMap locals: com.sun.xml.internal.bind.v2.schemagen.GroupKind java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        12: .line 94
            new com.sun.xml.internal.bind.v2.schemagen.Tree$Group
            dup
            aload 0 /* kind */
            aload 2 /* normalizedChildren */
            aload 2 /* normalizedChildren */
            invokeinterface java.util.List.size:()I
            anewarray com.sun.xml.internal.bind.v2.schemagen.Tree
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.sun.xml.internal.bind.v2.schemagen.Tree[]
            invokespecial com.sun.xml.internal.bind.v2.schemagen.Tree$Group.<init>:(Lcom/sun/xml/internal/bind/v2/schemagen/GroupKind;[Lcom/sun/xml/internal/bind/v2/schemagen/Tree;)V
            areturn
        end local 2 // java.util.List normalizedChildren
        end local 1 // java.util.List children
        end local 0 // com.sun.xml.internal.bind.v2.schemagen.GroupKind kind
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   13     0                kind  Lcom/sun/xml/internal/bind/v2/schemagen/GroupKind;
            0   13     1            children  Ljava/util/List<Lcom/sun/xml/internal/bind/v2/schemagen/Tree;>;
            3   13     2  normalizedChildren  Ljava/util/List<Lcom/sun/xml/internal/bind/v2/schemagen/Tree;>;
            5   11     3                   t  Lcom/sun/xml/internal/bind/v2/schemagen/Tree;
            7   10     5                   g  Lcom/sun/xml/internal/bind/v2/schemagen/Tree$Group;
    Signature: (Lcom/sun/xml/internal/bind/v2/schemagen/GroupKind;Ljava/util/List<Lcom/sun/xml/internal/bind/v2/schemagen/Tree;>;)Lcom/sun/xml/internal/bind/v2/schemagen/Tree;
    MethodParameters:
          Name  Flags
      kind      
      children  

  abstract boolean isNullable();
    descriptor: ()Z
    flags: (0x0400) ACC_ABSTRACT

  boolean canBeTopLevel();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.xml.internal.bind.v2.schemagen.Tree this
         0: .line 109
            iconst_0
            ireturn
        end local 0 // com.sun.xml.internal.bind.v2.schemagen.Tree this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/xml/internal/bind/v2/schemagen/Tree;

  protected abstract void write(com.sun.xml.internal.bind.v2.schemagen.xmlschema.ContentModelContainer, boolean, boolean);
    descriptor: (Lcom/sun/xml/internal/bind/v2/schemagen/xmlschema/ContentModelContainer;ZZ)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      parent      
      isOptional  
      repeated    

  protected void write(com.sun.xml.internal.bind.v2.schemagen.xmlschema.TypeDefParticle);
    descriptor: (Lcom/sun/xml/internal/bind/v2/schemagen/xmlschema/TypeDefParticle;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // com.sun.xml.internal.bind.v2.schemagen.Tree this
        start local 1 // com.sun.xml.internal.bind.v2.schemagen.xmlschema.TypeDefParticle ct
         0: .line 122
            aload 0 /* this */
            invokevirtual com.sun.xml.internal.bind.v2.schemagen.Tree.canBeTopLevel:()Z
            ifeq 2
         1: .line 123
            aload 0 /* this */
            aload 1 /* ct */
            ldc Lcom/sun/xml/internal/bind/v2/schemagen/xmlschema/ContentModelContainer;
            invokeinterface com.sun.xml.internal.bind.v2.schemagen.xmlschema.TypeDefParticle._cast:(Ljava/lang/Class;)Lcom/sun/xml/internal/txw2/TypedXmlWriter;
            checkcast com.sun.xml.internal.bind.v2.schemagen.xmlschema.ContentModelContainer
            iconst_0
            iconst_0
            invokevirtual com.sun.xml.internal.bind.v2.schemagen.Tree.write:(Lcom/sun/xml/internal/bind/v2/schemagen/xmlschema/ContentModelContainer;ZZ)V
            goto 3
         2: .line 126
      StackMap locals:
      StackMap stack:
            new com.sun.xml.internal.bind.v2.schemagen.Tree$Group
            dup
            getstatic com.sun.xml.internal.bind.v2.schemagen.GroupKind.SEQUENCE:Lcom/sun/xml/internal/bind/v2/schemagen/GroupKind;
            iconst_1
            anewarray com.sun.xml.internal.bind.v2.schemagen.Tree
            dup
            iconst_0
            aload 0 /* this */
            aastore
            invokespecial com.sun.xml.internal.bind.v2.schemagen.Tree$Group.<init>:(Lcom/sun/xml/internal/bind/v2/schemagen/GroupKind;[Lcom/sun/xml/internal/bind/v2/schemagen/Tree;)V
            aload 1 /* ct */
            invokevirtual com.sun.xml.internal.bind.v2.schemagen.Tree$Group.write:(Lcom/sun/xml/internal/bind/v2/schemagen/xmlschema/TypeDefParticle;)V
         3: .line 127
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.xml.internal.bind.v2.schemagen.xmlschema.TypeDefParticle ct
        end local 0 // com.sun.xml.internal.bind.v2.schemagen.Tree this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/xml/internal/bind/v2/schemagen/Tree;
            0    4     1    ct  Lcom/sun/xml/internal/bind/v2/schemagen/xmlschema/TypeDefParticle;
    MethodParameters:
      Name  Flags
      ct    

  protected final void writeOccurs(com.sun.xml.internal.bind.v2.schemagen.xmlschema.Occurs, boolean, boolean);
    descriptor: (Lcom/sun/xml/internal/bind/v2/schemagen/xmlschema/Occurs;ZZ)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // com.sun.xml.internal.bind.v2.schemagen.Tree this
        start local 1 // com.sun.xml.internal.bind.v2.schemagen.xmlschema.Occurs o
        start local 2 // boolean isOptional
        start local 3 // boolean repeated
         0: .line 133
            iload 2 /* isOptional */
            ifeq 2
         1: .line 134
            aload 1 /* o */
            iconst_0
            invokeinterface com.sun.xml.internal.bind.v2.schemagen.xmlschema.Occurs.minOccurs:(I)Lcom/sun/xml/internal/bind/v2/schemagen/xmlschema/Occurs;
            pop
         2: .line 135
      StackMap locals:
      StackMap stack:
            iload 3 /* repeated */
            ifeq 4
         3: .line 136
            aload 1 /* o */
            ldc "unbounded"
            invokeinterface com.sun.xml.internal.bind.v2.schemagen.xmlschema.Occurs.maxOccurs:(Ljava/lang/String;)Lcom/sun/xml/internal/bind/v2/schemagen/xmlschema/Occurs;
            pop
         4: .line 137
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean repeated
        end local 2 // boolean isOptional
        end local 1 // com.sun.xml.internal.bind.v2.schemagen.xmlschema.Occurs o
        end local 0 // com.sun.xml.internal.bind.v2.schemagen.Tree this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/sun/xml/internal/bind/v2/schemagen/Tree;
            0    5     1           o  Lcom/sun/xml/internal/bind/v2/schemagen/xmlschema/Occurs;
            0    5     2  isOptional  Z
            0    5     3    repeated  Z
    MethodParameters:
            Name  Flags
      o           
      isOptional  
      repeated    
}
SourceFile: "Tree.java"
NestMembers:
  com.sun.xml.internal.bind.v2.schemagen.Tree$Group  com.sun.xml.internal.bind.v2.schemagen.Tree$Optional  com.sun.xml.internal.bind.v2.schemagen.Tree$Repeated  com.sun.xml.internal.bind.v2.schemagen.Tree$Term
InnerClasses:
  private final Group = com.sun.xml.internal.bind.v2.schemagen.Tree$Group of com.sun.xml.internal.bind.v2.schemagen.Tree
  private final Optional = com.sun.xml.internal.bind.v2.schemagen.Tree$Optional of com.sun.xml.internal.bind.v2.schemagen.Tree
  private final Repeated = com.sun.xml.internal.bind.v2.schemagen.Tree$Repeated of com.sun.xml.internal.bind.v2.schemagen.Tree
  abstract Term = com.sun.xml.internal.bind.v2.schemagen.Tree$Term of com.sun.xml.internal.bind.v2.schemagen.Tree