final class com.google.common.collect.UnmodifiableSortedMultiset<E> extends com.google.common.collect.Multisets$UnmodifiableMultiset<E> implements com.google.common.collect.SortedMultiset<E>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.google.common.collect.UnmodifiableSortedMultiset
  super_class: com.google.common.collect.Multisets$UnmodifiableMultiset
{
  private transient com.google.common.collect.UnmodifiableSortedMultiset<E> descendingMultiset;
    descriptor: Lcom/google/common/collect/UnmodifiableSortedMultiset;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
    Signature: Lcom/google/common/collect/UnmodifiableSortedMultiset<TE;>;
    RuntimeVisibleTypeAnnotations: 
      FIELD
        org.checkerframework.checker.nullness.qual.MonotonicNonNull()

  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  void <init>(com.google.common.collect.SortedMultiset<E>);
    descriptor: (Lcom/google/common/collect/SortedMultiset;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.common.collect.UnmodifiableSortedMultiset this
        start local 1 // com.google.common.collect.SortedMultiset delegate
         0: .line 36
            aload 0 /* this */
            aload 1 /* delegate */
            invokespecial com.google.common.collect.Multisets$UnmodifiableMultiset.<init>:(Lcom/google/common/collect/Multiset;)V
         1: .line 37
            return
        end local 1 // com.google.common.collect.SortedMultiset delegate
        end local 0 // com.google.common.collect.UnmodifiableSortedMultiset this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/google/common/collect/UnmodifiableSortedMultiset<TE;>;
            0    2     1  delegate  Lcom/google/common/collect/SortedMultiset<TE;>;
    Signature: (Lcom/google/common/collect/SortedMultiset<TE;>;)V
    MethodParameters:
          Name  Flags
      delegate  

  protected com.google.common.collect.SortedMultiset<E> delegate();
    descriptor: ()Lcom/google/common/collect/SortedMultiset;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.collect.UnmodifiableSortedMultiset this
         0: .line 41
            aload 0 /* this */
            invokespecial com.google.common.collect.Multisets$UnmodifiableMultiset.delegate:()Lcom/google/common/collect/Multiset;
            checkcast com.google.common.collect.SortedMultiset
            areturn
        end local 0 // com.google.common.collect.UnmodifiableSortedMultiset this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/UnmodifiableSortedMultiset<TE;>;
    Signature: ()Lcom/google/common/collect/SortedMultiset<TE;>;

  public java.util.Comparator<? super E> comparator();
    descriptor: ()Ljava/util/Comparator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.collect.UnmodifiableSortedMultiset this
         0: .line 46
            aload 0 /* this */
            invokevirtual com.google.common.collect.UnmodifiableSortedMultiset.delegate:()Lcom/google/common/collect/SortedMultiset;
            invokeinterface com.google.common.collect.SortedMultiset.comparator:()Ljava/util/Comparator;
            areturn
        end local 0 // com.google.common.collect.UnmodifiableSortedMultiset this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/UnmodifiableSortedMultiset<TE;>;
    Signature: ()Ljava/util/Comparator<-TE;>;

  java.util.NavigableSet<E> createElementSet();
    descriptor: ()Ljava/util/NavigableSet;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.collect.UnmodifiableSortedMultiset this
         0: .line 51
            aload 0 /* this */
            invokevirtual com.google.common.collect.UnmodifiableSortedMultiset.delegate:()Lcom/google/common/collect/SortedMultiset;
            invokeinterface com.google.common.collect.SortedMultiset.elementSet:()Ljava/util/NavigableSet;
            invokestatic com.google.common.collect.Sets.unmodifiableNavigableSet:(Ljava/util/NavigableSet;)Ljava/util/NavigableSet;
            areturn
        end local 0 // com.google.common.collect.UnmodifiableSortedMultiset this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/UnmodifiableSortedMultiset<TE;>;
    Signature: ()Ljava/util/NavigableSet<TE;>;

  public java.util.NavigableSet<E> elementSet();
    descriptor: ()Ljava/util/NavigableSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.collect.UnmodifiableSortedMultiset this
         0: .line 56
            aload 0 /* this */
            invokespecial com.google.common.collect.Multisets$UnmodifiableMultiset.elementSet:()Ljava/util/Set;
            checkcast java.util.NavigableSet
            areturn
        end local 0 // com.google.common.collect.UnmodifiableSortedMultiset this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/UnmodifiableSortedMultiset<TE;>;
    Signature: ()Ljava/util/NavigableSet<TE;>;

  public com.google.common.collect.SortedMultiset<E> descendingMultiset();
    descriptor: ()Lcom/google/common/collect/SortedMultiset;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.google.common.collect.UnmodifiableSortedMultiset this
         0: .line 63
            aload 0 /* this */
            getfield com.google.common.collect.UnmodifiableSortedMultiset.descendingMultiset:Lcom/google/common/collect/UnmodifiableSortedMultiset;
            astore 1 /* result */
        start local 1 // com.google.common.collect.UnmodifiableSortedMultiset result
         1: .line 64
            aload 1 /* result */
            ifnonnull 5
         2: .line 65
            new com.google.common.collect.UnmodifiableSortedMultiset
            dup
            aload 0 /* this */
            invokevirtual com.google.common.collect.UnmodifiableSortedMultiset.delegate:()Lcom/google/common/collect/SortedMultiset;
            invokeinterface com.google.common.collect.SortedMultiset.descendingMultiset:()Lcom/google/common/collect/SortedMultiset;
            invokespecial com.google.common.collect.UnmodifiableSortedMultiset.<init>:(Lcom/google/common/collect/SortedMultiset;)V
            astore 1 /* result */
         3: .line 66
            aload 1 /* result */
            aload 0 /* this */
            putfield com.google.common.collect.UnmodifiableSortedMultiset.descendingMultiset:Lcom/google/common/collect/UnmodifiableSortedMultiset;
         4: .line 67
            aload 0 /* this */
            aload 1 /* result */
            dup_x1
            putfield com.google.common.collect.UnmodifiableSortedMultiset.descendingMultiset:Lcom/google/common/collect/UnmodifiableSortedMultiset;
            areturn
         5: .line 69
      StackMap locals: com.google.common.collect.UnmodifiableSortedMultiset
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 1 // com.google.common.collect.UnmodifiableSortedMultiset result
        end local 0 // com.google.common.collect.UnmodifiableSortedMultiset this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lcom/google/common/collect/UnmodifiableSortedMultiset<TE;>;
            1    6     1  result  Lcom/google/common/collect/UnmodifiableSortedMultiset<TE;>;
    Signature: ()Lcom/google/common/collect/SortedMultiset<TE;>;

  public com.google.common.collect.Multiset$Entry<E> firstEntry();
    descriptor: ()Lcom/google/common/collect/Multiset$Entry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.collect.UnmodifiableSortedMultiset this
         0: .line 74
            aload 0 /* this */
            invokevirtual com.google.common.collect.UnmodifiableSortedMultiset.delegate:()Lcom/google/common/collect/SortedMultiset;
            invokeinterface com.google.common.collect.SortedMultiset.firstEntry:()Lcom/google/common/collect/Multiset$Entry;
            areturn
        end local 0 // com.google.common.collect.UnmodifiableSortedMultiset this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/UnmodifiableSortedMultiset<TE;>;
    Signature: ()Lcom/google/common/collect/Multiset$Entry<TE;>;

  public com.google.common.collect.Multiset$Entry<E> lastEntry();
    descriptor: ()Lcom/google/common/collect/Multiset$Entry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.collect.UnmodifiableSortedMultiset this
         0: .line 79
            aload 0 /* this */
            invokevirtual com.google.common.collect.UnmodifiableSortedMultiset.delegate:()Lcom/google/common/collect/SortedMultiset;
            invokeinterface com.google.common.collect.SortedMultiset.lastEntry:()Lcom/google/common/collect/Multiset$Entry;
            areturn
        end local 0 // com.google.common.collect.UnmodifiableSortedMultiset this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/UnmodifiableSortedMultiset<TE;>;
    Signature: ()Lcom/google/common/collect/Multiset$Entry<TE;>;

  public com.google.common.collect.Multiset$Entry<E> pollFirstEntry();
    descriptor: ()Lcom/google/common/collect/Multiset$Entry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.common.collect.UnmodifiableSortedMultiset this
         0: .line 84
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 0 // com.google.common.collect.UnmodifiableSortedMultiset this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/UnmodifiableSortedMultiset<TE;>;
    Signature: ()Lcom/google/common/collect/Multiset$Entry<TE;>;

  public com.google.common.collect.Multiset$Entry<E> pollLastEntry();
    descriptor: ()Lcom/google/common/collect/Multiset$Entry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.common.collect.UnmodifiableSortedMultiset this
         0: .line 89
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 0 // com.google.common.collect.UnmodifiableSortedMultiset this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/UnmodifiableSortedMultiset<TE;>;
    Signature: ()Lcom/google/common/collect/Multiset$Entry<TE;>;

  public com.google.common.collect.SortedMultiset<E> headMultiset(E, com.google.common.collect.BoundType);
    descriptor: (Ljava/lang/Object;Lcom/google/common/collect/BoundType;)Lcom/google/common/collect/SortedMultiset;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.google.common.collect.UnmodifiableSortedMultiset this
        start local 1 // java.lang.Object upperBound
        start local 2 // com.google.common.collect.BoundType boundType
         0: .line 94
            aload 0 /* this */
            invokevirtual com.google.common.collect.UnmodifiableSortedMultiset.delegate:()Lcom/google/common/collect/SortedMultiset;
            aload 1 /* upperBound */
            aload 2 /* boundType */
            invokeinterface com.google.common.collect.SortedMultiset.headMultiset:(Ljava/lang/Object;Lcom/google/common/collect/BoundType;)Lcom/google/common/collect/SortedMultiset;
            invokestatic com.google.common.collect.Multisets.unmodifiableSortedMultiset:(Lcom/google/common/collect/SortedMultiset;)Lcom/google/common/collect/SortedMultiset;
            areturn
        end local 2 // com.google.common.collect.BoundType boundType
        end local 1 // java.lang.Object upperBound
        end local 0 // com.google.common.collect.UnmodifiableSortedMultiset this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/google/common/collect/UnmodifiableSortedMultiset<TE;>;
            0    1     1  upperBound  TE;
            0    1     2   boundType  Lcom/google/common/collect/BoundType;
    Signature: (TE;Lcom/google/common/collect/BoundType;)Lcom/google/common/collect/SortedMultiset<TE;>;
    MethodParameters:
            Name  Flags
      upperBound  
      boundType   

  public com.google.common.collect.SortedMultiset<E> subMultiset(E, com.google.common.collect.BoundType, E, com.google.common.collect.BoundType);
    descriptor: (Ljava/lang/Object;Lcom/google/common/collect/BoundType;Ljava/lang/Object;Lcom/google/common/collect/BoundType;)Lcom/google/common/collect/SortedMultiset;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // com.google.common.collect.UnmodifiableSortedMultiset this
        start local 1 // java.lang.Object lowerBound
        start local 2 // com.google.common.collect.BoundType lowerBoundType
        start local 3 // java.lang.Object upperBound
        start local 4 // com.google.common.collect.BoundType upperBoundType
         0: .line 101
            aload 0 /* this */
            invokevirtual com.google.common.collect.UnmodifiableSortedMultiset.delegate:()Lcom/google/common/collect/SortedMultiset;
            aload 1 /* lowerBound */
            aload 2 /* lowerBoundType */
            aload 3 /* upperBound */
            aload 4 /* upperBoundType */
            invokeinterface com.google.common.collect.SortedMultiset.subMultiset:(Ljava/lang/Object;Lcom/google/common/collect/BoundType;Ljava/lang/Object;Lcom/google/common/collect/BoundType;)Lcom/google/common/collect/SortedMultiset;
         1: .line 100
            invokestatic com.google.common.collect.Multisets.unmodifiableSortedMultiset:(Lcom/google/common/collect/SortedMultiset;)Lcom/google/common/collect/SortedMultiset;
            areturn
        end local 4 // com.google.common.collect.BoundType upperBoundType
        end local 3 // java.lang.Object upperBound
        end local 2 // com.google.common.collect.BoundType lowerBoundType
        end local 1 // java.lang.Object lowerBound
        end local 0 // com.google.common.collect.UnmodifiableSortedMultiset this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lcom/google/common/collect/UnmodifiableSortedMultiset<TE;>;
            0    2     1      lowerBound  TE;
            0    2     2  lowerBoundType  Lcom/google/common/collect/BoundType;
            0    2     3      upperBound  TE;
            0    2     4  upperBoundType  Lcom/google/common/collect/BoundType;
    Signature: (TE;Lcom/google/common/collect/BoundType;TE;Lcom/google/common/collect/BoundType;)Lcom/google/common/collect/SortedMultiset<TE;>;
    MethodParameters:
                Name  Flags
      lowerBound      
      lowerBoundType  
      upperBound      
      upperBoundType  

  public com.google.common.collect.SortedMultiset<E> tailMultiset(E, com.google.common.collect.BoundType);
    descriptor: (Ljava/lang/Object;Lcom/google/common/collect/BoundType;)Lcom/google/common/collect/SortedMultiset;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.google.common.collect.UnmodifiableSortedMultiset this
        start local 1 // java.lang.Object lowerBound
        start local 2 // com.google.common.collect.BoundType boundType
         0: .line 106
            aload 0 /* this */
            invokevirtual com.google.common.collect.UnmodifiableSortedMultiset.delegate:()Lcom/google/common/collect/SortedMultiset;
            aload 1 /* lowerBound */
            aload 2 /* boundType */
            invokeinterface com.google.common.collect.SortedMultiset.tailMultiset:(Ljava/lang/Object;Lcom/google/common/collect/BoundType;)Lcom/google/common/collect/SortedMultiset;
            invokestatic com.google.common.collect.Multisets.unmodifiableSortedMultiset:(Lcom/google/common/collect/SortedMultiset;)Lcom/google/common/collect/SortedMultiset;
            areturn
        end local 2 // com.google.common.collect.BoundType boundType
        end local 1 // java.lang.Object lowerBound
        end local 0 // com.google.common.collect.UnmodifiableSortedMultiset this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/google/common/collect/UnmodifiableSortedMultiset<TE;>;
            0    1     1  lowerBound  TE;
            0    1     2   boundType  Lcom/google/common/collect/BoundType;
    Signature: (TE;Lcom/google/common/collect/BoundType;)Lcom/google/common/collect/SortedMultiset<TE;>;
    MethodParameters:
            Name  Flags
      lowerBound  
      boundType   

  public java.util.SortedSet elementSet();
    descriptor: ()Ljava/util/SortedSet;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.google.common.collect.UnmodifiableSortedMultiset.elementSet:()Ljava/util/NavigableSet;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.Set elementSet();
    descriptor: ()Ljava/util/Set;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.google.common.collect.UnmodifiableSortedMultiset.elementSet:()Ljava/util/NavigableSet;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected com.google.common.collect.Multiset delegate();
    descriptor: ()Lcom/google/common/collect/Multiset;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.google.common.collect.UnmodifiableSortedMultiset.delegate:()Lcom/google/common/collect/SortedMultiset;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected java.lang.Object delegate();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.google.common.collect.UnmodifiableSortedMultiset.delegate:()Lcom/google/common/collect/SortedMultiset;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected java.util.Collection delegate();
    descriptor: ()Ljava/util/Collection;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.google.common.collect.UnmodifiableSortedMultiset.delegate:()Lcom/google/common/collect/SortedMultiset;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  java.util.Set createElementSet();
    descriptor: ()Ljava/util/Set;
    flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.google.common.collect.UnmodifiableSortedMultiset.createElementSet:()Ljava/util/NavigableSet;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: <E:Ljava/lang/Object;>Lcom/google/common/collect/Multisets$UnmodifiableMultiset<TE;>;Lcom/google/common/collect/SortedMultiset<TE;>;
SourceFile: "UnmodifiableSortedMultiset.java"
InnerClasses:
  public abstract Entry = com.google.common.collect.Multiset$Entry of com.google.common.collect.Multiset
  UnmodifiableMultiset = com.google.common.collect.Multisets$UnmodifiableMultiset of com.google.common.collect.Multisets
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtCompatible(emulated = true)