public class io.ebeaninternal.server.deploy.visitor.VisitProperties
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.ebeaninternal.server.deploy.visitor.VisitProperties
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.visitor.VisitProperties this
         0: .line 14
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.ebeaninternal.server.deploy.visitor.VisitProperties this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/visitor/VisitProperties;

  public static void visit(io.ebeaninternal.server.deploy.BeanDescriptor<?>, io.ebeaninternal.server.deploy.visitor.BeanPropertyVisitor);
    descriptor: (Lio/ebeaninternal/server/deploy/BeanDescriptor;Lio/ebeaninternal/server/deploy/visitor/BeanPropertyVisitor;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanDescriptor descriptor
        start local 1 // io.ebeaninternal.server.deploy.visitor.BeanPropertyVisitor visitor
         0: .line 20
            new io.ebeaninternal.server.deploy.visitor.VisitProperties
            dup
            invokespecial io.ebeaninternal.server.deploy.visitor.VisitProperties.<init>:()V
            aload 0 /* descriptor */
            aload 1 /* visitor */
            invokevirtual io.ebeaninternal.server.deploy.visitor.VisitProperties.visitProperties:(Lio/ebeaninternal/server/deploy/BeanDescriptor;Lio/ebeaninternal/server/deploy/visitor/BeanPropertyVisitor;)V
         1: .line 21
            return
        end local 1 // io.ebeaninternal.server.deploy.visitor.BeanPropertyVisitor visitor
        end local 0 // io.ebeaninternal.server.deploy.BeanDescriptor descriptor
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0  descriptor  Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;
            0    2     1     visitor  Lio/ebeaninternal/server/deploy/visitor/BeanPropertyVisitor;
    Signature: (Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;Lio/ebeaninternal/server/deploy/visitor/BeanPropertyVisitor;)V
    MethodParameters:
            Name  Flags
      descriptor  
      visitor     

  protected void visitProperties(io.ebeaninternal.server.deploy.BeanDescriptor<?>, io.ebeaninternal.server.deploy.visitor.BeanPropertyVisitor);
    descriptor: (Lio/ebeaninternal/server/deploy/BeanDescriptor;Lio/ebeaninternal/server/deploy/visitor/BeanPropertyVisitor;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=10, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.visitor.VisitProperties this
        start local 1 // io.ebeaninternal.server.deploy.BeanDescriptor desc
        start local 2 // io.ebeaninternal.server.deploy.visitor.BeanPropertyVisitor propertyVisitor
         0: .line 24
            aload 1 /* desc */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getIdProperty:()Lio/ebeaninternal/server/deploy/BeanProperty;
            astore 3 /* idProp */
        start local 3 // io.ebeaninternal.server.deploy.BeanProperty idProp
         1: .line 25
            aload 3 /* idProp */
            ifnull 3
         2: .line 26
            aload 0 /* this */
            aload 2 /* propertyVisitor */
            aload 3 /* idProp */
            invokevirtual io.ebeaninternal.server.deploy.visitor.VisitProperties.visit:(Lio/ebeaninternal/server/deploy/visitor/BeanPropertyVisitor;Lio/ebeaninternal/server/deploy/BeanProperty;)V
         3: .line 29
      StackMap locals: io.ebeaninternal.server.deploy.BeanProperty
      StackMap stack:
            aload 1 /* desc */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getUnidirectional:()Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne;
            astore 4 /* unidirectional */
        start local 4 // io.ebeaninternal.server.deploy.BeanPropertyAssocOne unidirectional
         4: .line 30
            aload 4 /* unidirectional */
            ifnull 6
         5: .line 31
            aload 0 /* this */
            aload 2 /* propertyVisitor */
            aload 4 /* unidirectional */
            invokevirtual io.ebeaninternal.server.deploy.visitor.VisitProperties.visit:(Lio/ebeaninternal/server/deploy/visitor/BeanPropertyVisitor;Lio/ebeaninternal/server/deploy/BeanProperty;)V
         6: .line 34
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssocOne
      StackMap stack:
            aload 1 /* desc */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.propertiesNonTransient:()[Lio/ebeaninternal/server/deploy/BeanProperty;
            astore 5 /* propertiesNonTransient */
        start local 5 // io.ebeaninternal.server.deploy.BeanProperty[] propertiesNonTransient
         7: .line 35
            aload 5 /* propertiesNonTransient */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 12
      StackMap locals: io.ebeaninternal.server.deploy.visitor.VisitProperties io.ebeaninternal.server.deploy.BeanDescriptor io.ebeaninternal.server.deploy.visitor.BeanPropertyVisitor io.ebeaninternal.server.deploy.BeanProperty io.ebeaninternal.server.deploy.BeanPropertyAssocOne io.ebeaninternal.server.deploy.BeanProperty[] top int int io.ebeaninternal.server.deploy.BeanProperty[]
      StackMap stack:
         8: aload 9
            iload 7
            aaload
            astore 6 /* p */
        start local 6 // io.ebeaninternal.server.deploy.BeanProperty p
         9: .line 36
            aload 6 /* p */
            invokevirtual io.ebeaninternal.server.deploy.BeanProperty.isDDLColumn:()Z
            ifeq 11
        10: .line 37
            aload 0 /* this */
            aload 2 /* propertyVisitor */
            aload 6 /* p */
            invokevirtual io.ebeaninternal.server.deploy.visitor.VisitProperties.visit:(Lio/ebeaninternal/server/deploy/visitor/BeanPropertyVisitor;Lio/ebeaninternal/server/deploy/BeanProperty;)V
        end local 6 // io.ebeaninternal.server.deploy.BeanProperty p
        11: .line 35
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        12: iload 7
            iload 8
            if_icmplt 8
        13: .line 41
            aload 0 /* this */
            aload 1 /* desc */
            aload 2 /* propertyVisitor */
            invokevirtual io.ebeaninternal.server.deploy.visitor.VisitProperties.visitInheritanceProperties:(Lio/ebeaninternal/server/deploy/BeanDescriptor;Lio/ebeaninternal/server/deploy/visitor/BeanPropertyVisitor;)V
        14: .line 42
            aload 2 /* propertyVisitor */
            invokeinterface io.ebeaninternal.server.deploy.visitor.BeanPropertyVisitor.visitEnd:()V
        15: .line 43
            return
        end local 5 // io.ebeaninternal.server.deploy.BeanProperty[] propertiesNonTransient
        end local 4 // io.ebeaninternal.server.deploy.BeanPropertyAssocOne unidirectional
        end local 3 // io.ebeaninternal.server.deploy.BeanProperty idProp
        end local 2 // io.ebeaninternal.server.deploy.visitor.BeanPropertyVisitor propertyVisitor
        end local 1 // io.ebeaninternal.server.deploy.BeanDescriptor desc
        end local 0 // io.ebeaninternal.server.deploy.visitor.VisitProperties this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   16     0                    this  Lio/ebeaninternal/server/deploy/visitor/VisitProperties;
            0   16     1                    desc  Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;
            0   16     2         propertyVisitor  Lio/ebeaninternal/server/deploy/visitor/BeanPropertyVisitor;
            1   16     3                  idProp  Lio/ebeaninternal/server/deploy/BeanProperty;
            4   16     4          unidirectional  Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne<*>;
            7   16     5  propertiesNonTransient  [Lio/ebeaninternal/server/deploy/BeanProperty;
            9   11     6                       p  Lio/ebeaninternal/server/deploy/BeanProperty;
    Signature: (Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;Lio/ebeaninternal/server/deploy/visitor/BeanPropertyVisitor;)V
    MethodParameters:
                 Name  Flags
      desc             
      propertyVisitor  

  protected void visit(io.ebeaninternal.server.deploy.visitor.BeanPropertyVisitor, io.ebeaninternal.server.deploy.BeanProperty);
    descriptor: (Lio/ebeaninternal/server/deploy/visitor/BeanPropertyVisitor;Lio/ebeaninternal/server/deploy/BeanProperty;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.visitor.VisitProperties this
        start local 1 // io.ebeaninternal.server.deploy.visitor.BeanPropertyVisitor pv
        start local 2 // io.ebeaninternal.server.deploy.BeanProperty p
         0: .line 50
            aload 2 /* p */
            instanceof io.ebeaninternal.server.deploy.BeanPropertyAssocMany
            ifeq 3
         1: .line 52
            aload 1 /* pv */
            aload 2 /* p */
            checkcast io.ebeaninternal.server.deploy.BeanPropertyAssocMany
            invokeinterface io.ebeaninternal.server.deploy.visitor.BeanPropertyVisitor.visitMany:(Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;)V
         2: .line 54
            goto 20
      StackMap locals:
      StackMap stack:
         3: aload 2 /* p */
            instanceof io.ebeaninternal.server.deploy.BeanPropertyAssocOne
            ifeq 19
         4: .line 55
            aload 2 /* p */
            checkcast io.ebeaninternal.server.deploy.BeanPropertyAssocOne
            astore 3 /* assocOne */
        start local 3 // io.ebeaninternal.server.deploy.BeanPropertyAssocOne assocOne
         5: .line 56
            aload 3 /* assocOne */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocOne.isEmbedded:()Z
            ifeq 14
         6: .line 58
            aload 1 /* pv */
            aload 3 /* assocOne */
            invokeinterface io.ebeaninternal.server.deploy.visitor.BeanPropertyVisitor.visitEmbedded:(Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne;)V
         7: .line 59
            aload 3 /* assocOne */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocOne.getProperties:()[Lio/ebeaninternal/server/deploy/BeanProperty;
            astore 4 /* embProps */
        start local 4 // io.ebeaninternal.server.deploy.BeanProperty[] embProps
         8: .line 60
            aload 4 /* embProps */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 12
      StackMap locals: io.ebeaninternal.server.deploy.visitor.VisitProperties io.ebeaninternal.server.deploy.visitor.BeanPropertyVisitor io.ebeaninternal.server.deploy.BeanProperty io.ebeaninternal.server.deploy.BeanPropertyAssocOne io.ebeaninternal.server.deploy.BeanProperty[] top int int io.ebeaninternal.server.deploy.BeanProperty[]
      StackMap stack:
         9: aload 8
            iload 6
            aaload
            astore 5 /* embProp */
        start local 5 // io.ebeaninternal.server.deploy.BeanProperty embProp
        10: .line 61
            aload 1 /* pv */
            aload 5 /* embProp */
            aload 3 /* assocOne */
            invokeinterface io.ebeaninternal.server.deploy.visitor.BeanPropertyVisitor.visitEmbeddedScalar:(Lio/ebeaninternal/server/deploy/BeanProperty;Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne;)V
        end local 5 // io.ebeaninternal.server.deploy.BeanProperty embProp
        11: .line 60
            iinc 6 1
      StackMap locals:
      StackMap stack:
        12: iload 6
            iload 7
            if_icmplt 9
        end local 4 // io.ebeaninternal.server.deploy.BeanProperty[] embProps
        13: .line 64
            goto 20
      StackMap locals: io.ebeaninternal.server.deploy.visitor.VisitProperties io.ebeaninternal.server.deploy.visitor.BeanPropertyVisitor io.ebeaninternal.server.deploy.BeanProperty io.ebeaninternal.server.deploy.BeanPropertyAssocOne
      StackMap stack:
        14: aload 3 /* assocOne */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocOne.isOneToOneExported:()Z
            ifeq 17
        15: .line 66
            aload 1 /* pv */
            aload 3 /* assocOne */
            invokeinterface io.ebeaninternal.server.deploy.visitor.BeanPropertyVisitor.visitOneExported:(Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne;)V
        16: .line 68
            goto 20
        17: .line 70
      StackMap locals:
      StackMap stack:
            aload 1 /* pv */
            aload 3 /* assocOne */
            invokeinterface io.ebeaninternal.server.deploy.visitor.BeanPropertyVisitor.visitOneImported:(Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne;)V
        end local 3 // io.ebeaninternal.server.deploy.BeanPropertyAssocOne assocOne
        18: .line 73
            goto 20
        19: .line 75
      StackMap locals:
      StackMap stack:
            aload 1 /* pv */
            aload 2 /* p */
            invokeinterface io.ebeaninternal.server.deploy.visitor.BeanPropertyVisitor.visitScalar:(Lio/ebeaninternal/server/deploy/BeanProperty;)V
        20: .line 77
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.ebeaninternal.server.deploy.BeanProperty p
        end local 1 // io.ebeaninternal.server.deploy.visitor.BeanPropertyVisitor pv
        end local 0 // io.ebeaninternal.server.deploy.visitor.VisitProperties this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   21     0      this  Lio/ebeaninternal/server/deploy/visitor/VisitProperties;
            0   21     1        pv  Lio/ebeaninternal/server/deploy/visitor/BeanPropertyVisitor;
            0   21     2         p  Lio/ebeaninternal/server/deploy/BeanProperty;
            5   18     3  assocOne  Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne<*>;
            8   13     4  embProps  [Lio/ebeaninternal/server/deploy/BeanProperty;
           10   11     5   embProp  Lio/ebeaninternal/server/deploy/BeanProperty;
    MethodParameters:
      Name  Flags
      pv    
      p     

  protected void visitInheritanceProperties(io.ebeaninternal.server.deploy.BeanDescriptor<?>, io.ebeaninternal.server.deploy.visitor.BeanPropertyVisitor);
    descriptor: (Lio/ebeaninternal/server/deploy/BeanDescriptor;Lio/ebeaninternal/server/deploy/visitor/BeanPropertyVisitor;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.visitor.VisitProperties this
        start local 1 // io.ebeaninternal.server.deploy.BeanDescriptor descriptor
        start local 2 // io.ebeaninternal.server.deploy.visitor.BeanPropertyVisitor pv
         0: .line 85
            aload 1 /* descriptor */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getInheritInfo:()Lio/ebeaninternal/server/deploy/InheritInfo;
            astore 3 /* inheritInfo */
        start local 3 // io.ebeaninternal.server.deploy.InheritInfo inheritInfo
         1: .line 86
            aload 3 /* inheritInfo */
            ifnull 3
            aload 3 /* inheritInfo */
            invokevirtual io.ebeaninternal.server.deploy.InheritInfo.isRoot:()Z
            ifeq 3
         2: .line 88
            aload 3 /* inheritInfo */
            new io.ebeaninternal.server.deploy.visitor.VisitProperties$InheritChildVisitor
            dup
            aload 0 /* this */
            aload 2 /* pv */
            invokespecial io.ebeaninternal.server.deploy.visitor.VisitProperties$InheritChildVisitor.<init>:(Lio/ebeaninternal/server/deploy/visitor/VisitProperties;Lio/ebeaninternal/server/deploy/visitor/BeanPropertyVisitor;)V
            invokevirtual io.ebeaninternal.server.deploy.InheritInfo.visitChildren:(Lio/ebeaninternal/server/deploy/InheritInfoVisitor;)V
         3: .line 90
      StackMap locals: io.ebeaninternal.server.deploy.InheritInfo
      StackMap stack:
            return
        end local 3 // io.ebeaninternal.server.deploy.InheritInfo inheritInfo
        end local 2 // io.ebeaninternal.server.deploy.visitor.BeanPropertyVisitor pv
        end local 1 // io.ebeaninternal.server.deploy.BeanDescriptor descriptor
        end local 0 // io.ebeaninternal.server.deploy.visitor.VisitProperties this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lio/ebeaninternal/server/deploy/visitor/VisitProperties;
            0    4     1   descriptor  Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;
            0    4     2           pv  Lio/ebeaninternal/server/deploy/visitor/BeanPropertyVisitor;
            1    4     3  inheritInfo  Lio/ebeaninternal/server/deploy/InheritInfo;
    Signature: (Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;Lio/ebeaninternal/server/deploy/visitor/BeanPropertyVisitor;)V
    MethodParameters:
            Name  Flags
      descriptor  
      pv          
}
SourceFile: "VisitProperties.java"
NestMembers:
  io.ebeaninternal.server.deploy.visitor.VisitProperties$InheritChildVisitor
InnerClasses:
  protected InheritChildVisitor = io.ebeaninternal.server.deploy.visitor.VisitProperties$InheritChildVisitor of io.ebeaninternal.server.deploy.visitor.VisitProperties