public class org.I0Itec.zkclient.DistributedQueue<T extends java.io.Serializable>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.I0Itec.zkclient.DistributedQueue
  super_class: java.lang.Object
{
  private org.I0Itec.zkclient.ZkClient _zkClient;
    descriptor: Lorg/I0Itec/zkclient/ZkClient;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String _root;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private static final java.lang.String ELEMENT_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "element"

  public void <init>(org.I0Itec.zkclient.ZkClient, java.lang.String);
    descriptor: (Lorg/I0Itec/zkclient/ZkClient;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.I0Itec.zkclient.DistributedQueue this
        start local 1 // org.I0Itec.zkclient.ZkClient zkClient
        start local 2 // java.lang.String root
         0: .line 48
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 49
            aload 0 /* this */
            aload 1 /* zkClient */
            putfield org.I0Itec.zkclient.DistributedQueue._zkClient:Lorg/I0Itec/zkclient/ZkClient;
         2: .line 50
            aload 0 /* this */
            aload 2 /* root */
            putfield org.I0Itec.zkclient.DistributedQueue._root:Ljava/lang/String;
         3: .line 51
            return
        end local 2 // java.lang.String root
        end local 1 // org.I0Itec.zkclient.ZkClient zkClient
        end local 0 // org.I0Itec.zkclient.DistributedQueue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/I0Itec/zkclient/DistributedQueue<TT;>;
            0    4     1  zkClient  Lorg/I0Itec/zkclient/ZkClient;
            0    4     2      root  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      zkClient  
      root      

  public boolean offer();
    descriptor: (Ljava/io/Serializable;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.I0Itec.zkclient.DistributedQueue this
        start local 1 // java.io.Serializable element
         0: .line 55
            aload 0 /* this */
            getfield org.I0Itec.zkclient.DistributedQueue._zkClient:Lorg/I0Itec/zkclient/ZkClient;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.I0Itec.zkclient.DistributedQueue._root:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "element"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "-"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* element */
            invokevirtual org.I0Itec.zkclient.ZkClient.createPersistentSequential:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
            pop
         1: .line 56
            goto 4
      StackMap locals:
      StackMap stack: java.lang.Exception
         2: astore 2 /* e */
        start local 2 // java.lang.Exception e
         3: .line 57
            aload 2 /* e */
            invokestatic org.I0Itec.zkclient.ExceptionUtil.convertToRuntimeException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 2 // java.lang.Exception e
         4: .line 59
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // java.io.Serializable element
        end local 0 // org.I0Itec.zkclient.DistributedQueue this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/I0Itec/zkclient/DistributedQueue<TT;>;
            0    5     1  element  TT;
            3    4     2        e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
    Signature: (TT;)Z
    MethodParameters:
         Name  Flags
      element  

  public T poll();
    descriptor: ()Ljava/io/Serializable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.I0Itec.zkclient.DistributedQueue this
         0: .line 64
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.I0Itec.zkclient.DistributedQueue.getFirstElement:()Lorg/I0Itec/zkclient/DistributedQueue$Element;
            astore 1 /* element */
        start local 1 // org.I0Itec.zkclient.DistributedQueue$Element element
         1: .line 65
            aload 1 /* element */
            ifnonnull 3
         2: .line 66
            aconst_null
            areturn
         3: .line 70
      StackMap locals: org.I0Itec.zkclient.DistributedQueue$Element
      StackMap stack:
            aload 0 /* this */
            getfield org.I0Itec.zkclient.DistributedQueue._zkClient:Lorg/I0Itec/zkclient/ZkClient;
            aload 1 /* element */
            invokevirtual org.I0Itec.zkclient.DistributedQueue$Element.getName:()Ljava/lang/String;
            invokevirtual org.I0Itec.zkclient.ZkClient.delete:(Ljava/lang/String;)Z
            pop
         4: .line 71
            aload 1 /* element */
            invokevirtual org.I0Itec.zkclient.DistributedQueue$Element.getData:()Ljava/lang/Object;
            checkcast java.io.Serializable
         5: areturn
         6: .line 72
      StackMap locals:
      StackMap stack: org.I0Itec.zkclient.exception.ZkNoNodeException
            pop
            goto 0
         7: .line 75
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
         8: .line 76
            aload 2 /* e */
            invokestatic org.I0Itec.zkclient.ExceptionUtil.convertToRuntimeException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 2 // java.lang.Exception e
        end local 1 // org.I0Itec.zkclient.DistributedQueue$Element element
        end local 0 // org.I0Itec.zkclient.DistributedQueue this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/I0Itec/zkclient/DistributedQueue<TT;>;
            1    9     1  element  Lorg/I0Itec/zkclient/DistributedQueue$Element<TT;>;
            8    9     2        e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     5       6  Class org.I0Itec.zkclient.exception.ZkNoNodeException
           3     5       7  Class java.lang.Exception
    Signature: ()TT;

  private java.lang.String getSmallestElement(java.util.List<java.lang.String>);
    descriptor: (Ljava/util/List;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.I0Itec.zkclient.DistributedQueue this
        start local 1 // java.util.List list
         0: .line 82
            aload 1 /* list */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* smallestElement */
        start local 2 // java.lang.String smallestElement
         1: .line 83
            aload 1 /* list */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: org.I0Itec.zkclient.DistributedQueue java.util.List java.lang.String top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* element */
        start local 3 // java.lang.String element
         3: .line 84
            aload 3 /* element */
            aload 2 /* smallestElement */
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            ifge 5
         4: .line 85
            aload 3 /* element */
            astore 2 /* smallestElement */
        end local 3 // java.lang.String element
         5: .line 83
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 89
            aload 2 /* smallestElement */
            areturn
        end local 2 // java.lang.String smallestElement
        end local 1 // java.util.List list
        end local 0 // org.I0Itec.zkclient.DistributedQueue this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Lorg/I0Itec/zkclient/DistributedQueue<TT;>;
            0    7     1             list  Ljava/util/List<Ljava/lang/String;>;
            1    7     2  smallestElement  Ljava/lang/String;
            3    5     3          element  Ljava/lang/String;
    Signature: (Ljava/util/List<Ljava/lang/String;>;)Ljava/lang/String;
    MethodParameters:
      Name  Flags
      list  

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.I0Itec.zkclient.DistributedQueue this
         0: .line 93
            aload 0 /* this */
            getfield org.I0Itec.zkclient.DistributedQueue._zkClient:Lorg/I0Itec/zkclient/ZkClient;
            aload 0 /* this */
            getfield org.I0Itec.zkclient.DistributedQueue._root:Ljava/lang/String;
            invokevirtual org.I0Itec.zkclient.ZkClient.getChildren:(Ljava/lang/String;)Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.I0Itec.zkclient.DistributedQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/I0Itec/zkclient/DistributedQueue<TT;>;

  private org.I0Itec.zkclient.DistributedQueue$Element<T> getFirstElement();
    descriptor: ()Lorg/I0Itec/zkclient/DistributedQueue$Element;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // org.I0Itec.zkclient.DistributedQueue this
         0: .line 100
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.I0Itec.zkclient.DistributedQueue._zkClient:Lorg/I0Itec/zkclient/ZkClient;
            aload 0 /* this */
            getfield org.I0Itec.zkclient.DistributedQueue._root:Ljava/lang/String;
            invokevirtual org.I0Itec.zkclient.ZkClient.getChildren:(Ljava/lang/String;)Ljava/util/List;
            astore 1 /* list */
        start local 1 // java.util.List list
         1: .line 101
            aload 1 /* list */
            invokeinterface java.util.List.size:()I
            ifne 3
         2: .line 102
            aconst_null
            areturn
         3: .line 104
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            aload 1 /* list */
            invokevirtual org.I0Itec.zkclient.DistributedQueue.getSmallestElement:(Ljava/util/List;)Ljava/lang/String;
            astore 2 /* elementName */
        start local 2 // java.lang.String elementName
         4: .line 107
            new org.I0Itec.zkclient.DistributedQueue$Element
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.I0Itec.zkclient.DistributedQueue._root:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* elementName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.I0Itec.zkclient.DistributedQueue._zkClient:Lorg/I0Itec/zkclient/ZkClient;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.I0Itec.zkclient.DistributedQueue._root:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* elementName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.I0Itec.zkclient.ZkClient.readData:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.io.Serializable
            invokespecial org.I0Itec.zkclient.DistributedQueue$Element.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
         5: areturn
         6: .line 108
      StackMap locals: org.I0Itec.zkclient.DistributedQueue java.util.List java.lang.String
      StackMap stack: org.I0Itec.zkclient.exception.ZkNoNodeException
            pop
        end local 2 // java.lang.String elementName
        end local 1 // java.util.List list
         7: .line 99
            goto 0
         8: .line 113
      StackMap locals: org.I0Itec.zkclient.DistributedQueue
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         9: .line 114
            aload 1 /* e */
            invokestatic org.I0Itec.zkclient.ExceptionUtil.convertToRuntimeException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // java.lang.Exception e
        end local 0 // org.I0Itec.zkclient.DistributedQueue this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/I0Itec/zkclient/DistributedQueue<TT;>;
            1    7     1         list  Ljava/util/List<Ljava/lang/String;>;
            4    7     2  elementName  Ljava/lang/String;
            9   10     1            e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           4     5       6  Class org.I0Itec.zkclient.exception.ZkNoNodeException
           0     2       8  Class java.lang.Exception
           3     5       8  Class java.lang.Exception
           6     8       8  Class java.lang.Exception
    Signature: ()Lorg/I0Itec/zkclient/DistributedQueue$Element<TT;>;

  public T peek();
    descriptor: ()Ljava/io/Serializable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.I0Itec.zkclient.DistributedQueue this
         0: .line 119
            aload 0 /* this */
            invokevirtual org.I0Itec.zkclient.DistributedQueue.getFirstElement:()Lorg/I0Itec/zkclient/DistributedQueue$Element;
            astore 1 /* element */
        start local 1 // org.I0Itec.zkclient.DistributedQueue$Element element
         1: .line 120
            aload 1 /* element */
            ifnonnull 3
         2: .line 121
            aconst_null
            areturn
         3: .line 123
      StackMap locals: org.I0Itec.zkclient.DistributedQueue$Element
      StackMap stack:
            aload 1 /* element */
            invokevirtual org.I0Itec.zkclient.DistributedQueue$Element.getData:()Ljava/lang/Object;
            checkcast java.io.Serializable
            areturn
        end local 1 // org.I0Itec.zkclient.DistributedQueue$Element element
        end local 0 // org.I0Itec.zkclient.DistributedQueue this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/I0Itec/zkclient/DistributedQueue<TT;>;
            1    4     1  element  Lorg/I0Itec/zkclient/DistributedQueue$Element<TT;>;
    Signature: ()TT;
}
Signature: <T::Ljava/io/Serializable;>Ljava/lang/Object;
SourceFile: "DistributedQueue.java"
NestMembers:
  org.I0Itec.zkclient.DistributedQueue$Element
InnerClasses:
  private Element = org.I0Itec.zkclient.DistributedQueue$Element of org.I0Itec.zkclient.DistributedQueue