public class io.ebeanservice.docstore.api.mapping.DocMappingBuilder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.ebeanservice.docstore.api.mapping.DocMappingBuilder
  super_class: java.lang.Object
{
  private final io.ebean.text.PathProperties paths;
    descriptor: Lio/ebean/text/PathProperties;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.ebean.annotation.DocStore docStore;
    descriptor: Lio/ebean/annotation/DocStore;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Stack<io.ebeanservice.docstore.api.mapping.DocPropertyMapping> properties;
    descriptor: Ljava/util/Stack;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Stack<Lio/ebeanservice/docstore/api/mapping/DocPropertyMapping;>;

  private final java.util.Map<java.lang.String, io.ebeanservice.docstore.api.mapping.DocPropertyMapping> map;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lio/ebeanservice/docstore/api/mapping/DocPropertyMapping;>;

  public void <init>(io.ebean.text.PathProperties, io.ebean.annotation.DocStore);
    descriptor: (Lio/ebean/text/PathProperties;Lio/ebean/annotation/DocStore;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.ebeanservice.docstore.api.mapping.DocMappingBuilder this
        start local 1 // io.ebean.text.PathProperties paths
        start local 2 // io.ebean.annotation.DocStore docStore
         0: .line 28
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 21
            aload 0 /* this */
            new java.util.Stack
            dup
            invokespecial java.util.Stack.<init>:()V
            putfield io.ebeanservice.docstore.api.mapping.DocMappingBuilder.properties:Ljava/util/Stack;
         2: .line 23
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield io.ebeanservice.docstore.api.mapping.DocMappingBuilder.map:Ljava/util/Map;
         3: .line 29
            aload 0 /* this */
            aload 1 /* paths */
            putfield io.ebeanservice.docstore.api.mapping.DocMappingBuilder.paths:Lio/ebean/text/PathProperties;
         4: .line 30
            aload 0 /* this */
            aload 2 /* docStore */
            putfield io.ebeanservice.docstore.api.mapping.DocMappingBuilder.docStore:Lio/ebean/annotation/DocStore;
         5: .line 31
            aload 0 /* this */
            getfield io.ebeanservice.docstore.api.mapping.DocMappingBuilder.properties:Ljava/util/Stack;
            new io.ebeanservice.docstore.api.mapping.DocPropertyMapping
            dup
            invokespecial io.ebeanservice.docstore.api.mapping.DocPropertyMapping.<init>:()V
            invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 32
            return
        end local 2 // io.ebean.annotation.DocStore docStore
        end local 1 // io.ebean.text.PathProperties paths
        end local 0 // io.ebeanservice.docstore.api.mapping.DocMappingBuilder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lio/ebeanservice/docstore/api/mapping/DocMappingBuilder;
            0    7     1     paths  Lio/ebean/text/PathProperties;
            0    7     2  docStore  Lio/ebean/annotation/DocStore;
    MethodParameters:
          Name  Flags
      paths     
      docStore  

  public boolean includesProperty(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.ebeanservice.docstore.api.mapping.DocMappingBuilder this
        start local 1 // java.lang.String prefix
        start local 2 // java.lang.String name
         0: .line 38
            aload 0 /* this */
            getfield io.ebeanservice.docstore.api.mapping.DocMappingBuilder.paths:Lio/ebean/text/PathProperties;
            aload 1 /* prefix */
            aload 2 /* name */
            invokevirtual io.ebean.text.PathProperties.includesProperty:(Ljava/lang/String;Ljava/lang/String;)Z
            ireturn
        end local 2 // java.lang.String name
        end local 1 // java.lang.String prefix
        end local 0 // io.ebeanservice.docstore.api.mapping.DocMappingBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/ebeanservice/docstore/api/mapping/DocMappingBuilder;
            0    1     1  prefix  Ljava/lang/String;
            0    1     2    name  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      prefix  
      name    

  public boolean includesPath(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.ebeanservice.docstore.api.mapping.DocMappingBuilder this
        start local 1 // java.lang.String prefix
        start local 2 // java.lang.String name
         0: .line 45
            aload 0 /* this */
            getfield io.ebeanservice.docstore.api.mapping.DocMappingBuilder.paths:Lio/ebean/text/PathProperties;
            aload 1 /* prefix */
            aload 2 /* name */
            invokevirtual io.ebean.text.PathProperties.includesProperty:(Ljava/lang/String;Ljava/lang/String;)Z
            ireturn
        end local 2 // java.lang.String name
        end local 1 // java.lang.String prefix
        end local 0 // io.ebeanservice.docstore.api.mapping.DocMappingBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/ebeanservice/docstore/api/mapping/DocMappingBuilder;
            0    1     1  prefix  Ljava/lang/String;
            0    1     2    name  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      prefix  
      name    

  public void add(io.ebeanservice.docstore.api.mapping.DocPropertyMapping);
    descriptor: (Lio/ebeanservice/docstore/api/mapping/DocPropertyMapping;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // io.ebeanservice.docstore.api.mapping.DocMappingBuilder this
        start local 1 // io.ebeanservice.docstore.api.mapping.DocPropertyMapping docMapping
         0: .line 53
            aload 0 /* this */
            getfield io.ebeanservice.docstore.api.mapping.DocMappingBuilder.properties:Ljava/util/Stack;
            invokevirtual java.util.Stack.peek:()Ljava/lang/Object;
            checkcast io.ebeanservice.docstore.api.mapping.DocPropertyMapping
            astore 2 /* currentParent */
        start local 2 // io.ebeanservice.docstore.api.mapping.DocPropertyMapping currentParent
         1: .line 54
            aload 2 /* currentParent */
            aload 1 /* docMapping */
            invokevirtual io.ebeanservice.docstore.api.mapping.DocPropertyMapping.addChild:(Lio/ebeanservice/docstore/api/mapping/DocPropertyMapping;)V
         2: .line 56
            aload 2 /* currentParent */
            invokevirtual io.ebeanservice.docstore.api.mapping.DocPropertyMapping.getName:()Ljava/lang/String;
            astore 3 /* parentName */
        start local 3 // java.lang.String parentName
         3: .line 57
            aload 3 /* parentName */
            aload 1 /* docMapping */
            invokevirtual io.ebeanservice.docstore.api.mapping.DocPropertyMapping.getName:()Ljava/lang/String;
            invokestatic io.ebean.util.SplitName.add:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* fullName */
        start local 4 // java.lang.String fullName
         4: .line 58
            aload 0 /* this */
            getfield io.ebeanservice.docstore.api.mapping.DocMappingBuilder.map:Ljava/util/Map;
            aload 4 /* fullName */
            aload 1 /* docMapping */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 59
            return
        end local 4 // java.lang.String fullName
        end local 3 // java.lang.String parentName
        end local 2 // io.ebeanservice.docstore.api.mapping.DocPropertyMapping currentParent
        end local 1 // io.ebeanservice.docstore.api.mapping.DocPropertyMapping docMapping
        end local 0 // io.ebeanservice.docstore.api.mapping.DocMappingBuilder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lio/ebeanservice/docstore/api/mapping/DocMappingBuilder;
            0    6     1     docMapping  Lio/ebeanservice/docstore/api/mapping/DocPropertyMapping;
            1    6     2  currentParent  Lio/ebeanservice/docstore/api/mapping/DocPropertyMapping;
            3    6     3     parentName  Ljava/lang/String;
            4    6     4       fullName  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      docMapping  

  public void push(io.ebeanservice.docstore.api.mapping.DocPropertyMapping);
    descriptor: (Lio/ebeanservice/docstore/api/mapping/DocPropertyMapping;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeanservice.docstore.api.mapping.DocMappingBuilder this
        start local 1 // io.ebeanservice.docstore.api.mapping.DocPropertyMapping nested
         0: .line 65
            aload 0 /* this */
            getfield io.ebeanservice.docstore.api.mapping.DocMappingBuilder.properties:Ljava/util/Stack;
            aload 1 /* nested */
            invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 66
            return
        end local 1 // io.ebeanservice.docstore.api.mapping.DocPropertyMapping nested
        end local 0 // io.ebeanservice.docstore.api.mapping.DocMappingBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/ebeanservice/docstore/api/mapping/DocMappingBuilder;
            0    2     1  nested  Lio/ebeanservice/docstore/api/mapping/DocPropertyMapping;
    MethodParameters:
        Name  Flags
      nested  

  public void pop();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeanservice.docstore.api.mapping.DocMappingBuilder this
         0: .line 72
            aload 0 /* this */
            getfield io.ebeanservice.docstore.api.mapping.DocMappingBuilder.properties:Ljava/util/Stack;
            invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
            pop
         1: .line 73
            return
        end local 0 // io.ebeanservice.docstore.api.mapping.DocMappingBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/ebeanservice/docstore/api/mapping/DocMappingBuilder;

  public void applyMapping();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // io.ebeanservice.docstore.api.mapping.DocMappingBuilder this
         0: .line 79
            aload 0 /* this */
            getfield io.ebeanservice.docstore.api.mapping.DocMappingBuilder.docStore:Lio/ebean/annotation/DocStore;
            invokeinterface io.ebean.annotation.DocStore.mapping:()[Lio/ebean/annotation/DocMapping;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 4
      StackMap locals: io.ebeanservice.docstore.api.mapping.DocMappingBuilder top int int io.ebean.annotation.DocMapping[]
      StackMap stack:
         1: aload 4
            iload 2
            aaload
            astore 1 /* docMapping */
        start local 1 // io.ebean.annotation.DocMapping docMapping
         2: .line 80
            aload 0 /* this */
            aload 1 /* docMapping */
            invokevirtual io.ebeanservice.docstore.api.mapping.DocMappingBuilder.applyFieldMapping:(Lio/ebean/annotation/DocMapping;)V
        end local 1 // io.ebean.annotation.DocMapping docMapping
         3: .line 79
            iinc 2 1
      StackMap locals:
      StackMap stack:
         4: iload 2
            iload 3
            if_icmplt 1
         5: .line 82
            return
        end local 0 // io.ebeanservice.docstore.api.mapping.DocMappingBuilder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lio/ebeanservice/docstore/api/mapping/DocMappingBuilder;
            2    3     1  docMapping  Lio/ebean/annotation/DocMapping;

  private void applyFieldMapping(io.ebean.annotation.DocMapping);
    descriptor: (Lio/ebean/annotation/DocMapping;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.ebeanservice.docstore.api.mapping.DocMappingBuilder this
        start local 1 // io.ebean.annotation.DocMapping docMapping
         0: .line 86
            aload 0 /* this */
            getfield io.ebeanservice.docstore.api.mapping.DocMappingBuilder.map:Ljava/util/Map;
            aload 1 /* docMapping */
            invokeinterface io.ebean.annotation.DocMapping.name:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebeanservice.docstore.api.mapping.DocPropertyMapping
            astore 2 /* mapping */
        start local 2 // io.ebeanservice.docstore.api.mapping.DocPropertyMapping mapping
         1: .line 87
            aload 2 /* mapping */
            ifnonnull 3
         2: .line 88
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "DocMapping for ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* docMapping */
            invokeinterface io.ebean.annotation.DocMapping.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] but property not included in document?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 90
      StackMap locals: io.ebeanservice.docstore.api.mapping.DocPropertyMapping
      StackMap stack:
            aload 2 /* mapping */
            aload 1 /* docMapping */
            invokevirtual io.ebeanservice.docstore.api.mapping.DocPropertyMapping.apply:(Lio/ebean/annotation/DocMapping;)V
         4: .line 91
            return
        end local 2 // io.ebeanservice.docstore.api.mapping.DocPropertyMapping mapping
        end local 1 // io.ebean.annotation.DocMapping docMapping
        end local 0 // io.ebeanservice.docstore.api.mapping.DocMappingBuilder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lio/ebeanservice/docstore/api/mapping/DocMappingBuilder;
            0    5     1  docMapping  Lio/ebean/annotation/DocMapping;
            1    5     2     mapping  Lio/ebeanservice/docstore/api/mapping/DocPropertyMapping;
    MethodParameters:
            Name  Flags
      docMapping  

  public java.util.Map<java.lang.String, java.lang.String> collectSortable();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // io.ebeanservice.docstore.api.mapping.DocMappingBuilder this
         0: .line 98
            aload 0 /* this */
            getfield io.ebeanservice.docstore.api.mapping.DocMappingBuilder.properties:Ljava/util/Stack;
            invokevirtual java.util.Stack.peek:()Ljava/lang/Object;
            checkcast io.ebeanservice.docstore.api.mapping.DocPropertyMapping
            astore 1 /* peek */
        start local 1 // io.ebeanservice.docstore.api.mapping.DocPropertyMapping peek
         1: .line 99
            new io.ebeanservice.docstore.api.mapping.DocMappingBuilder$SortableVisitor
            dup
            invokespecial io.ebeanservice.docstore.api.mapping.DocMappingBuilder$SortableVisitor.<init>:()V
            astore 2 /* visitor */
        start local 2 // io.ebeanservice.docstore.api.mapping.DocMappingBuilder$SortableVisitor visitor
         2: .line 100
            aload 1 /* peek */
            aload 2 /* visitor */
            invokevirtual io.ebeanservice.docstore.api.mapping.DocPropertyMapping.visit:(Lio/ebeanservice/docstore/api/mapping/DocPropertyVisitor;)V
         3: .line 102
            aload 2 /* visitor */
            invokevirtual io.ebeanservice.docstore.api.mapping.DocMappingBuilder$SortableVisitor.getSortableMap:()Ljava/util/Map;
            areturn
        end local 2 // io.ebeanservice.docstore.api.mapping.DocMappingBuilder$SortableVisitor visitor
        end local 1 // io.ebeanservice.docstore.api.mapping.DocPropertyMapping peek
        end local 0 // io.ebeanservice.docstore.api.mapping.DocMappingBuilder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lio/ebeanservice/docstore/api/mapping/DocMappingBuilder;
            1    4     1     peek  Lio/ebeanservice/docstore/api/mapping/DocPropertyMapping;
            2    4     2  visitor  Lio/ebeanservice/docstore/api/mapping/DocMappingBuilder$SortableVisitor;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  public io.ebeanservice.docstore.api.mapping.DocumentMapping create(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lio/ebeanservice/docstore/api/mapping/DocumentMapping;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=4
        start local 0 // io.ebeanservice.docstore.api.mapping.DocMappingBuilder this
        start local 1 // java.lang.String queueId
        start local 2 // java.lang.String indexName
        start local 3 // java.lang.String indexType
         0: .line 110
            aload 0 /* this */
            getfield io.ebeanservice.docstore.api.mapping.DocMappingBuilder.docStore:Lio/ebean/annotation/DocStore;
            invokeinterface io.ebean.annotation.DocStore.shards:()I
            istore 4 /* shards */
        start local 4 // int shards
         1: .line 111
            aload 0 /* this */
            getfield io.ebeanservice.docstore.api.mapping.DocMappingBuilder.docStore:Lio/ebean/annotation/DocStore;
            invokeinterface io.ebean.annotation.DocStore.replicas:()I
            istore 5 /* replicas */
        start local 5 // int replicas
         2: .line 112
            aload 0 /* this */
            getfield io.ebeanservice.docstore.api.mapping.DocMappingBuilder.properties:Ljava/util/Stack;
            invokevirtual java.util.Stack.peek:()Ljava/lang/Object;
            checkcast io.ebeanservice.docstore.api.mapping.DocPropertyMapping
            astore 6 /* root */
        start local 6 // io.ebeanservice.docstore.api.mapping.DocPropertyMapping root
         3: .line 113
            new io.ebeanservice.docstore.api.mapping.DocumentMapping
            dup
            aload 1 /* queueId */
            aload 2 /* indexName */
            aload 3 /* indexType */
            aload 0 /* this */
            getfield io.ebeanservice.docstore.api.mapping.DocMappingBuilder.paths:Lio/ebean/text/PathProperties;
            aload 6 /* root */
            iload 4 /* shards */
            iload 5 /* replicas */
            invokespecial io.ebeanservice.docstore.api.mapping.DocumentMapping.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/ebean/FetchPath;Lio/ebeanservice/docstore/api/mapping/DocPropertyMapping;II)V
            areturn
        end local 6 // io.ebeanservice.docstore.api.mapping.DocPropertyMapping root
        end local 5 // int replicas
        end local 4 // int shards
        end local 3 // java.lang.String indexType
        end local 2 // java.lang.String indexName
        end local 1 // java.lang.String queueId
        end local 0 // io.ebeanservice.docstore.api.mapping.DocMappingBuilder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lio/ebeanservice/docstore/api/mapping/DocMappingBuilder;
            0    4     1    queueId  Ljava/lang/String;
            0    4     2  indexName  Ljava/lang/String;
            0    4     3  indexType  Ljava/lang/String;
            1    4     4     shards  I
            2    4     5   replicas  I
            3    4     6       root  Lio/ebeanservice/docstore/api/mapping/DocPropertyMapping;
    MethodParameters:
           Name  Flags
      queueId    
      indexName  
      indexType  
}
SourceFile: "DocMappingBuilder.java"
NestMembers:
  io.ebeanservice.docstore.api.mapping.DocMappingBuilder$SortableVisitor
InnerClasses:
  private SortableVisitor = io.ebeanservice.docstore.api.mapping.DocMappingBuilder$SortableVisitor of io.ebeanservice.docstore.api.mapping.DocMappingBuilder