final class com.google.common.collect.Synchronized
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.google.common.collect.Synchronized
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.collect.Synchronized this
         0: .line 68
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.google.common.collect.Synchronized this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/Synchronized;

  private static <E> java.util.Collection<E> collection(java.util.Collection<E>, );
    descriptor: (Ljava/util/Collection;Ljava/lang/Object;)Ljava/util/Collection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.Collection collection
        start local 1 // java.lang.Object mutex
         0: .line 109
            new com.google.common.collect.Synchronized$SynchronizedCollection
            dup
            aload 0 /* collection */
            aload 1 /* mutex */
            invokespecial com.google.common.collect.Synchronized$SynchronizedCollection.<init>:(Ljava/util/Collection;Ljava/lang/Object;)V
            areturn
        end local 1 // java.lang.Object mutex
        end local 0 // java.util.Collection collection
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  collection  Ljava/util/Collection<TE;>;
            0    1     1       mutex  Ljava/lang/Object;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/Collection<TE;>;Ljava/lang/Object;)Ljava/util/Collection<TE;>;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
            Name  Flags
      collection  
      mutex       

  static <E> java.util.Set<E> set(java.util.Set<E>, );
    descriptor: (Ljava/util/Set;Ljava/lang/Object;)Ljava/util/Set;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.Set set
        start local 1 // java.lang.Object mutex
         0: .line 253
            new com.google.common.collect.Synchronized$SynchronizedSet
            dup
            aload 0 /* set */
            aload 1 /* mutex */
            invokespecial com.google.common.collect.Synchronized$SynchronizedSet.<init>:(Ljava/util/Set;Ljava/lang/Object;)V
            areturn
        end local 1 // java.lang.Object mutex
        end local 0 // java.util.Set set
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0    set  Ljava/util/Set<TE;>;
            0    1     1  mutex  Ljava/lang/Object;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/Set<TE;>;Ljava/lang/Object;)Ljava/util/Set<TE;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.google.common.annotations.VisibleForTesting()
    MethodParameters:
       Name  Flags
      set    
      mutex  

  private static <E> java.util.SortedSet<E> sortedSet(java.util.SortedSet<E>, );
    descriptor: (Ljava/util/SortedSet;Ljava/lang/Object;)Ljava/util/SortedSet;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.SortedSet set
        start local 1 // java.lang.Object mutex
         0: .line 288
            new com.google.common.collect.Synchronized$SynchronizedSortedSet
            dup
            aload 0 /* set */
            aload 1 /* mutex */
            invokespecial com.google.common.collect.Synchronized$SynchronizedSortedSet.<init>:(Ljava/util/SortedSet;Ljava/lang/Object;)V
            areturn
        end local 1 // java.lang.Object mutex
        end local 0 // java.util.SortedSet set
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0    set  Ljava/util/SortedSet<TE;>;
            0    1     1  mutex  Ljava/lang/Object;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/SortedSet<TE;>;Ljava/lang/Object;)Ljava/util/SortedSet<TE;>;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
       Name  Flags
      set    
      mutex  

  private static <E> java.util.List<E> list(java.util.List<E>, );
    descriptor: (Ljava/util/List;Ljava/lang/Object;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.List list
        start local 1 // java.lang.Object mutex
         0: .line 347
            aload 0 /* list */
            instanceof java.util.RandomAccess
            ifeq 2
         1: .line 348
            new com.google.common.collect.Synchronized$SynchronizedRandomAccessList
            dup
            aload 0 /* list */
            aload 1 /* mutex */
            invokespecial com.google.common.collect.Synchronized$SynchronizedRandomAccessList.<init>:(Ljava/util/List;Ljava/lang/Object;)V
            goto 3
         2: .line 349
      StackMap locals:
      StackMap stack:
            new com.google.common.collect.Synchronized$SynchronizedList
            dup
            aload 0 /* list */
            aload 1 /* mutex */
            invokespecial com.google.common.collect.Synchronized$SynchronizedList.<init>:(Ljava/util/List;Ljava/lang/Object;)V
         3: .line 347
      StackMap locals:
      StackMap stack: com.google.common.collect.Synchronized$SynchronizedList
            areturn
        end local 1 // java.lang.Object mutex
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   list  Ljava/util/List<TE;>;
            0    4     1  mutex  Ljava/lang/Object;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/List<TE;>;Ljava/lang/Object;)Ljava/util/List<TE;>;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
       Name  Flags
      list   
      mutex  

  static <E> com.google.common.collect.Multiset<E> multiset(com.google.common.collect.Multiset<E>, );
    descriptor: (Lcom/google/common/collect/Multiset;Ljava/lang/Object;)Lcom/google/common/collect/Multiset;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.google.common.collect.Multiset multiset
        start local 1 // java.lang.Object mutex
         0: .line 472
            aload 0 /* multiset */
            instanceof com.google.common.collect.Synchronized$SynchronizedMultiset
            ifne 1
            aload 0 /* multiset */
            instanceof com.google.common.collect.ImmutableMultiset
            ifeq 2
         1: .line 473
      StackMap locals:
      StackMap stack:
            aload 0 /* multiset */
            areturn
         2: .line 475
      StackMap locals:
      StackMap stack:
            new com.google.common.collect.Synchronized$SynchronizedMultiset
            dup
            aload 0 /* multiset */
            aload 1 /* mutex */
            invokespecial com.google.common.collect.Synchronized$SynchronizedMultiset.<init>:(Lcom/google/common/collect/Multiset;Ljava/lang/Object;)V
            areturn
        end local 1 // java.lang.Object mutex
        end local 0 // com.google.common.collect.Multiset multiset
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  multiset  Lcom/google/common/collect/Multiset<TE;>;
            0    3     1     mutex  Ljava/lang/Object;
    Signature: <E:Ljava/lang/Object;>(Lcom/google/common/collect/Multiset<TE;>;Ljava/lang/Object;)Lcom/google/common/collect/Multiset<TE;>;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
          Name  Flags
      multiset  
      mutex     

  static <K, V> com.google.common.collect.Multimap<K, V> multimap(com.google.common.collect.Multimap<K, V>, );
    descriptor: (Lcom/google/common/collect/Multimap;Ljava/lang/Object;)Lcom/google/common/collect/Multimap;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.google.common.collect.Multimap multimap
        start local 1 // java.lang.Object mutex
         0: .line 568
            aload 0 /* multimap */
            instanceof com.google.common.collect.Synchronized$SynchronizedMultimap
            ifne 1
            aload 0 /* multimap */
            instanceof com.google.common.collect.ImmutableMultimap
            ifeq 2
         1: .line 569
      StackMap locals:
      StackMap stack:
            aload 0 /* multimap */
            areturn
         2: .line 571
      StackMap locals:
      StackMap stack:
            new com.google.common.collect.Synchronized$SynchronizedMultimap
            dup
            aload 0 /* multimap */
            aload 1 /* mutex */
            invokespecial com.google.common.collect.Synchronized$SynchronizedMultimap.<init>:(Lcom/google/common/collect/Multimap;Ljava/lang/Object;)V
            areturn
        end local 1 // java.lang.Object mutex
        end local 0 // com.google.common.collect.Multimap multimap
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  multimap  Lcom/google/common/collect/Multimap<TK;TV;>;
            0    3     1     mutex  Ljava/lang/Object;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lcom/google/common/collect/Multimap<TK;TV;>;Ljava/lang/Object;)Lcom/google/common/collect/Multimap<TK;TV;>;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
          Name  Flags
      multimap  
      mutex     

  static <K, V> com.google.common.collect.ListMultimap<K, V> listMultimap(com.google.common.collect.ListMultimap<K, V>, );
    descriptor: (Lcom/google/common/collect/ListMultimap;Ljava/lang/Object;)Lcom/google/common/collect/ListMultimap;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.google.common.collect.ListMultimap multimap
        start local 1 // java.lang.Object mutex
         0: .line 762
            aload 0 /* multimap */
            instanceof com.google.common.collect.Synchronized$SynchronizedListMultimap
            ifne 1
            aload 0 /* multimap */
            instanceof com.google.common.collect.ImmutableListMultimap
            ifeq 2
         1: .line 763
      StackMap locals:
      StackMap stack:
            aload 0 /* multimap */
            areturn
         2: .line 765
      StackMap locals:
      StackMap stack:
            new com.google.common.collect.Synchronized$SynchronizedListMultimap
            dup
            aload 0 /* multimap */
            aload 1 /* mutex */
            invokespecial com.google.common.collect.Synchronized$SynchronizedListMultimap.<init>:(Lcom/google/common/collect/ListMultimap;Ljava/lang/Object;)V
            areturn
        end local 1 // java.lang.Object mutex
        end local 0 // com.google.common.collect.ListMultimap multimap
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  multimap  Lcom/google/common/collect/ListMultimap<TK;TV;>;
            0    3     1     mutex  Ljava/lang/Object;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lcom/google/common/collect/ListMultimap<TK;TV;>;Ljava/lang/Object;)Lcom/google/common/collect/ListMultimap<TK;TV;>;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
          Name  Flags
      multimap  
      mutex     

  static <K, V> com.google.common.collect.SetMultimap<K, V> setMultimap(com.google.common.collect.SetMultimap<K, V>, );
    descriptor: (Lcom/google/common/collect/SetMultimap;Ljava/lang/Object;)Lcom/google/common/collect/SetMultimap;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.google.common.collect.SetMultimap multimap
        start local 1 // java.lang.Object mutex
         0: .line 804
            aload 0 /* multimap */
            instanceof com.google.common.collect.Synchronized$SynchronizedSetMultimap
            ifne 1
            aload 0 /* multimap */
            instanceof com.google.common.collect.ImmutableSetMultimap
            ifeq 2
         1: .line 805
      StackMap locals:
      StackMap stack:
            aload 0 /* multimap */
            areturn
         2: .line 807
      StackMap locals:
      StackMap stack:
            new com.google.common.collect.Synchronized$SynchronizedSetMultimap
            dup
            aload 0 /* multimap */
            aload 1 /* mutex */
            invokespecial com.google.common.collect.Synchronized$SynchronizedSetMultimap.<init>:(Lcom/google/common/collect/SetMultimap;Ljava/lang/Object;)V
            areturn
        end local 1 // java.lang.Object mutex
        end local 0 // com.google.common.collect.SetMultimap multimap
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  multimap  Lcom/google/common/collect/SetMultimap<TK;TV;>;
            0    3     1     mutex  Ljava/lang/Object;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lcom/google/common/collect/SetMultimap<TK;TV;>;Ljava/lang/Object;)Lcom/google/common/collect/SetMultimap<TK;TV;>;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
          Name  Flags
      multimap  
      mutex     

  static <K, V> com.google.common.collect.SortedSetMultimap<K, V> sortedSetMultimap(com.google.common.collect.SortedSetMultimap<K, V>, );
    descriptor: (Lcom/google/common/collect/SortedSetMultimap;Ljava/lang/Object;)Lcom/google/common/collect/SortedSetMultimap;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.google.common.collect.SortedSetMultimap multimap
        start local 1 // java.lang.Object mutex
         0: .line 859
            aload 0 /* multimap */
            instanceof com.google.common.collect.Synchronized$SynchronizedSortedSetMultimap
            ifeq 2
         1: .line 860
            aload 0 /* multimap */
            areturn
         2: .line 862
      StackMap locals:
      StackMap stack:
            new com.google.common.collect.Synchronized$SynchronizedSortedSetMultimap
            dup
            aload 0 /* multimap */
            aload 1 /* mutex */
            invokespecial com.google.common.collect.Synchronized$SynchronizedSortedSetMultimap.<init>:(Lcom/google/common/collect/SortedSetMultimap;Ljava/lang/Object;)V
            areturn
        end local 1 // java.lang.Object mutex
        end local 0 // com.google.common.collect.SortedSetMultimap multimap
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  multimap  Lcom/google/common/collect/SortedSetMultimap<TK;TV;>;
            0    3     1     mutex  Ljava/lang/Object;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lcom/google/common/collect/SortedSetMultimap<TK;TV;>;Ljava/lang/Object;)Lcom/google/common/collect/SortedSetMultimap<TK;TV;>;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
          Name  Flags
      multimap  
      mutex     

  private static <E> java.util.Collection<E> typePreservingCollection(java.util.Collection<E>, );
    descriptor: (Ljava/util/Collection;Ljava/lang/Object;)Ljava/util/Collection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.Collection collection
        start local 1 // java.lang.Object mutex
         0: .line 909
            aload 0 /* collection */
            instanceof java.util.SortedSet
            ifeq 2
         1: .line 910
            aload 0 /* collection */
            checkcast java.util.SortedSet
            aload 1 /* mutex */
            invokestatic com.google.common.collect.Synchronized.sortedSet:(Ljava/util/SortedSet;Ljava/lang/Object;)Ljava/util/SortedSet;
            areturn
         2: .line 912
      StackMap locals:
      StackMap stack:
            aload 0 /* collection */
            instanceof java.util.Set
            ifeq 4
         3: .line 913
            aload 0 /* collection */
            checkcast java.util.Set
            aload 1 /* mutex */
            invokestatic com.google.common.collect.Synchronized.set:(Ljava/util/Set;Ljava/lang/Object;)Ljava/util/Set;
            areturn
         4: .line 915
      StackMap locals:
      StackMap stack:
            aload 0 /* collection */
            instanceof java.util.List
            ifeq 6
         5: .line 916
            aload 0 /* collection */
            checkcast java.util.List
            aload 1 /* mutex */
            invokestatic com.google.common.collect.Synchronized.list:(Ljava/util/List;Ljava/lang/Object;)Ljava/util/List;
            areturn
         6: .line 918
      StackMap locals:
      StackMap stack:
            aload 0 /* collection */
            aload 1 /* mutex */
            invokestatic com.google.common.collect.Synchronized.collection:(Ljava/util/Collection;Ljava/lang/Object;)Ljava/util/Collection;
            areturn
        end local 1 // java.lang.Object mutex
        end local 0 // java.util.Collection collection
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0  collection  Ljava/util/Collection<TE;>;
            0    7     1       mutex  Ljava/lang/Object;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/Collection<TE;>;Ljava/lang/Object;)Ljava/util/Collection<TE;>;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
            Name  Flags
      collection  
      mutex       

  private static <E> java.util.Set<E> typePreservingSet(java.util.Set<E>, );
    descriptor: (Ljava/util/Set;Ljava/lang/Object;)Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.Set set
        start local 1 // java.lang.Object mutex
         0: .line 922
            aload 0 /* set */
            instanceof java.util.SortedSet
            ifeq 2
         1: .line 923
            aload 0 /* set */
            checkcast java.util.SortedSet
            aload 1 /* mutex */
            invokestatic com.google.common.collect.Synchronized.sortedSet:(Ljava/util/SortedSet;Ljava/lang/Object;)Ljava/util/SortedSet;
            areturn
         2: .line 925
      StackMap locals:
      StackMap stack:
            aload 0 /* set */
            aload 1 /* mutex */
            invokestatic com.google.common.collect.Synchronized.set:(Ljava/util/Set;Ljava/lang/Object;)Ljava/util/Set;
            areturn
        end local 1 // java.lang.Object mutex
        end local 0 // java.util.Set set
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0    set  Ljava/util/Set<TE;>;
            0    3     1  mutex  Ljava/lang/Object;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/Set<TE;>;Ljava/lang/Object;)Ljava/util/Set<TE;>;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
       Name  Flags
      set    
      mutex  

  static <K, V> java.util.Map<K, V> map(java.util.Map<K, V>, );
    descriptor: (Ljava/util/Map;Ljava/lang/Object;)Ljava/util/Map;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.Map map
        start local 1 // java.lang.Object mutex
         0: .line 1023
            new com.google.common.collect.Synchronized$SynchronizedMap
            dup
            aload 0 /* map */
            aload 1 /* mutex */
            invokespecial com.google.common.collect.Synchronized$SynchronizedMap.<init>:(Ljava/util/Map;Ljava/lang/Object;)V
            areturn
        end local 1 // java.lang.Object mutex
        end local 0 // java.util.Map map
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0    map  Ljava/util/Map<TK;TV;>;
            0    1     1  mutex  Ljava/lang/Object;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/Map<TK;TV;>;Ljava/lang/Object;)Ljava/util/Map<TK;TV;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.google.common.annotations.VisibleForTesting()
    MethodParameters:
       Name  Flags
      map    
      mutex  

  static <K, V> java.util.SortedMap<K, V> sortedMap(java.util.SortedMap<K, V>, );
    descriptor: (Ljava/util/SortedMap;Ljava/lang/Object;)Ljava/util/SortedMap;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.SortedMap sortedMap
        start local 1 // java.lang.Object mutex
         0: .line 1234
            new com.google.common.collect.Synchronized$SynchronizedSortedMap
            dup
            aload 0 /* sortedMap */
            aload 1 /* mutex */
            invokespecial com.google.common.collect.Synchronized$SynchronizedSortedMap.<init>:(Ljava/util/SortedMap;Ljava/lang/Object;)V
            areturn
        end local 1 // java.lang.Object mutex
        end local 0 // java.util.SortedMap sortedMap
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  sortedMap  Ljava/util/SortedMap<TK;TV;>;
            0    1     1      mutex  Ljava/lang/Object;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/SortedMap<TK;TV;>;Ljava/lang/Object;)Ljava/util/SortedMap<TK;TV;>;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
           Name  Flags
      sortedMap  
      mutex      

  static <K, V> com.google.common.collect.BiMap<K, V> biMap(com.google.common.collect.BiMap<K, V>, );
    descriptor: (Lcom/google/common/collect/BiMap;Ljava/lang/Object;)Lcom/google/common/collect/BiMap;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.google.common.collect.BiMap bimap
        start local 1 // java.lang.Object mutex
         0: .line 1295
            aload 0 /* bimap */
            instanceof com.google.common.collect.Synchronized$SynchronizedBiMap
            ifne 1
            aload 0 /* bimap */
            instanceof com.google.common.collect.ImmutableBiMap
            ifeq 2
         1: .line 1296
      StackMap locals:
      StackMap stack:
            aload 0 /* bimap */
            areturn
         2: .line 1298
      StackMap locals:
      StackMap stack:
            new com.google.common.collect.Synchronized$SynchronizedBiMap
            dup
            aload 0 /* bimap */
            aload 1 /* mutex */
            aconst_null
            invokespecial com.google.common.collect.Synchronized$SynchronizedBiMap.<init>:(Lcom/google/common/collect/BiMap;Ljava/lang/Object;Lcom/google/common/collect/BiMap;)V
            areturn
        end local 1 // java.lang.Object mutex
        end local 0 // com.google.common.collect.BiMap bimap
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  bimap  Lcom/google/common/collect/BiMap<TK;TV;>;
            0    3     1  mutex  Ljava/lang/Object;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lcom/google/common/collect/BiMap<TK;TV;>;Ljava/lang/Object;)Lcom/google/common/collect/BiMap<TK;TV;>;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
       Name  Flags
      bimap  
      mutex  

  static <E> java.util.NavigableSet<E> navigableSet(java.util.NavigableSet<E>, );
    descriptor: (Ljava/util/NavigableSet;Ljava/lang/Object;)Ljava/util/NavigableSet;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.NavigableSet navigableSet
        start local 1 // java.lang.Object mutex
         0: .line 1529
            new com.google.common.collect.Synchronized$SynchronizedNavigableSet
            dup
            aload 0 /* navigableSet */
            aload 1 /* mutex */
            invokespecial com.google.common.collect.Synchronized$SynchronizedNavigableSet.<init>:(Ljava/util/NavigableSet;Ljava/lang/Object;)V
            areturn
        end local 1 // java.lang.Object mutex
        end local 0 // java.util.NavigableSet navigableSet
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  navigableSet  Ljava/util/NavigableSet<TE;>;
            0    1     1         mutex  Ljava/lang/Object;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/NavigableSet<TE;>;Ljava/lang/Object;)Ljava/util/NavigableSet<TE;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
              Name  Flags
      navigableSet  
      mutex         

  static <E> java.util.NavigableSet<E> navigableSet(java.util.NavigableSet<E>);
    descriptor: (Ljava/util/NavigableSet;)Ljava/util/NavigableSet;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.NavigableSet navigableSet
         0: .line 1534
            aload 0 /* navigableSet */
            aconst_null
            invokestatic com.google.common.collect.Synchronized.navigableSet:(Ljava/util/NavigableSet;Ljava/lang/Object;)Ljava/util/NavigableSet;
            areturn
        end local 0 // java.util.NavigableSet navigableSet
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  navigableSet  Ljava/util/NavigableSet<TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/NavigableSet<TE;>;)Ljava/util/NavigableSet<TE;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
              Name  Flags
      navigableSet  

  static <K, V> java.util.NavigableMap<K, V> navigableMap(java.util.NavigableMap<K, V>);
    descriptor: (Ljava/util/NavigableMap;)Ljava/util/NavigableMap;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.NavigableMap navigableMap
         0: .line 1539
            aload 0 /* navigableMap */
            aconst_null
            invokestatic com.google.common.collect.Synchronized.navigableMap:(Ljava/util/NavigableMap;Ljava/lang/Object;)Ljava/util/NavigableMap;
            areturn
        end local 0 // java.util.NavigableMap navigableMap
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  navigableMap  Ljava/util/NavigableMap<TK;TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/NavigableMap<TK;TV;>;)Ljava/util/NavigableMap<TK;TV;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
              Name  Flags
      navigableMap  

  static <K, V> java.util.NavigableMap<K, V> navigableMap(java.util.NavigableMap<K, V>, );
    descriptor: (Ljava/util/NavigableMap;Ljava/lang/Object;)Ljava/util/NavigableMap;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.NavigableMap navigableMap
        start local 1 // java.lang.Object mutex
         0: .line 1545
            new com.google.common.collect.Synchronized$SynchronizedNavigableMap
            dup
            aload 0 /* navigableMap */
            aload 1 /* mutex */
            invokespecial com.google.common.collect.Synchronized$SynchronizedNavigableMap.<init>:(Ljava/util/NavigableMap;Ljava/lang/Object;)V
            areturn
        end local 1 // java.lang.Object mutex
        end local 0 // java.util.NavigableMap navigableMap
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  navigableMap  Ljava/util/NavigableMap<TK;TV;>;
            0    1     1         mutex  Ljava/lang/Object;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/NavigableMap<TK;TV;>;Ljava/lang/Object;)Ljava/util/NavigableMap<TK;TV;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
              Name  Flags
      navigableMap  
      mutex         

  private static <K, V> java.util.Map$Entry<K, V> nullableSynchronizedEntry(java.util.Map$Entry<K, V>, );
    descriptor: (Ljava/util/Map$Entry;Ljava/lang/Object;)Ljava/util/Map$Entry;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.Map$Entry entry
        start local 1 // java.lang.Object mutex
         0: .line 1730
            aload 0 /* entry */
            ifnonnull 2
         1: .line 1731
            aconst_null
            areturn
         2: .line 1733
      StackMap locals:
      StackMap stack:
            new com.google.common.collect.Synchronized$SynchronizedEntry
            dup
            aload 0 /* entry */
            aload 1 /* mutex */
            invokespecial com.google.common.collect.Synchronized$SynchronizedEntry.<init>:(Ljava/util/Map$Entry;Ljava/lang/Object;)V
            areturn
        end local 1 // java.lang.Object mutex
        end local 0 // java.util.Map$Entry entry
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  entry  Ljava/util/Map$Entry<TK;TV;>;
            0    3     1  mutex  Ljava/lang/Object;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/Map$Entry<TK;TV;>;Ljava/lang/Object;)Ljava/util/Map$Entry<TK;TV;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
       Name  Flags
      entry  
      mutex  

  static <E> java.util.Queue<E> queue(java.util.Queue<E>, );
    descriptor: (Ljava/util/Queue;Ljava/lang/Object;)Ljava/util/Queue;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.Queue queue
        start local 1 // java.lang.Object mutex
         0: .line 1788
            aload 0 /* queue */
            instanceof com.google.common.collect.Synchronized$SynchronizedQueue
            ifeq 1
            aload 0 /* queue */
            goto 2
      StackMap locals:
      StackMap stack:
         1: new com.google.common.collect.Synchronized$SynchronizedQueue
            dup
            aload 0 /* queue */
            aload 1 /* mutex */
            invokespecial com.google.common.collect.Synchronized$SynchronizedQueue.<init>:(Ljava/util/Queue;Ljava/lang/Object;)V
      StackMap locals:
      StackMap stack: java.util.Queue
         2: areturn
        end local 1 // java.lang.Object mutex
        end local 0 // java.util.Queue queue
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  queue  Ljava/util/Queue<TE;>;
            0    3     1  mutex  Ljava/lang/Object;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/Queue<TE;>;Ljava/lang/Object;)Ljava/util/Queue<TE;>;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
       Name  Flags
      queue  
      mutex  

  static <E> java.util.Deque<E> deque(java.util.Deque<E>, );
    descriptor: (Ljava/util/Deque;Ljava/lang/Object;)Ljava/util/Deque;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.Deque deque
        start local 1 // java.lang.Object mutex
         0: .line 1841
            new com.google.common.collect.Synchronized$SynchronizedDeque
            dup
            aload 0 /* deque */
            aload 1 /* mutex */
            invokespecial com.google.common.collect.Synchronized$SynchronizedDeque.<init>:(Ljava/util/Deque;Ljava/lang/Object;)V
            areturn
        end local 1 // java.lang.Object mutex
        end local 0 // java.util.Deque deque
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  deque  Ljava/util/Deque<TE;>;
            0    1     1  mutex  Ljava/lang/Object;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/Deque<TE;>;Ljava/lang/Object;)Ljava/util/Deque<TE;>;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
       Name  Flags
      deque  
      mutex  

  static <R, C, V> com.google.common.collect.Table<R, C, V> table(com.google.common.collect.Table<R, C, V>, );
    descriptor: (Lcom/google/common/collect/Table;Ljava/lang/Object;)Lcom/google/common/collect/Table;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.google.common.collect.Table table
        start local 1 // java.lang.Object mutex
         0: .line 1978
            new com.google.common.collect.Synchronized$SynchronizedTable
            dup
            aload 0 /* table */
            aload 1 /* mutex */
            invokespecial com.google.common.collect.Synchronized$SynchronizedTable.<init>:(Lcom/google/common/collect/Table;Ljava/lang/Object;)V
            areturn
        end local 1 // java.lang.Object mutex
        end local 0 // com.google.common.collect.Table table
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  table  Lcom/google/common/collect/Table<TR;TC;TV;>;
            0    1     1  mutex  Ljava/lang/Object;
    Signature: <R:Ljava/lang/Object;C:Ljava/lang/Object;V:Ljava/lang/Object;>(Lcom/google/common/collect/Table<TR;TC;TV;>;Ljava/lang/Object;)Lcom/google/common/collect/Table<TR;TC;TV;>;
    MethodParameters:
       Name  Flags
      table  
      mutex  
}
SourceFile: "Synchronized.java"
NestMembers:
  com.google.common.collect.Synchronized$SynchronizedAsMap  com.google.common.collect.Synchronized$SynchronizedAsMapEntries  com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1  com.google.common.collect.Synchronized$SynchronizedAsMapEntries$1$1  com.google.common.collect.Synchronized$SynchronizedAsMapValues  com.google.common.collect.Synchronized$SynchronizedAsMapValues$1  com.google.common.collect.Synchronized$SynchronizedBiMap  com.google.common.collect.Synchronized$SynchronizedCollection  com.google.common.collect.Synchronized$SynchronizedDeque  com.google.common.collect.Synchronized$SynchronizedEntry  com.google.common.collect.Synchronized$SynchronizedList  com.google.common.collect.Synchronized$SynchronizedListMultimap  com.google.common.collect.Synchronized$SynchronizedMap  com.google.common.collect.Synchronized$SynchronizedMultimap  com.google.common.collect.Synchronized$SynchronizedMultiset  com.google.common.collect.Synchronized$SynchronizedNavigableMap  com.google.common.collect.Synchronized$SynchronizedNavigableSet  com.google.common.collect.Synchronized$SynchronizedObject  com.google.common.collect.Synchronized$SynchronizedQueue  com.google.common.collect.Synchronized$SynchronizedRandomAccessList  com.google.common.collect.Synchronized$SynchronizedSet  com.google.common.collect.Synchronized$SynchronizedSetMultimap  com.google.common.collect.Synchronized$SynchronizedSortedMap  com.google.common.collect.Synchronized$SynchronizedSortedSet  com.google.common.collect.Synchronized$SynchronizedSortedSetMultimap  com.google.common.collect.Synchronized$SynchronizedTable  com.google.common.collect.Synchronized$SynchronizedTable$1  com.google.common.collect.Synchronized$SynchronizedTable$2
InnerClasses:
  private SynchronizedAsMap = com.google.common.collect.Synchronized$SynchronizedAsMap of com.google.common.collect.Synchronized
  private SynchronizedAsMapEntries = com.google.common.collect.Synchronized$SynchronizedAsMapEntries of com.google.common.collect.Synchronized
  private SynchronizedAsMapValues = com.google.common.collect.Synchronized$SynchronizedAsMapValues of com.google.common.collect.Synchronized
  SynchronizedBiMap = com.google.common.collect.Synchronized$SynchronizedBiMap of com.google.common.collect.Synchronized
  SynchronizedCollection = com.google.common.collect.Synchronized$SynchronizedCollection of com.google.common.collect.Synchronized
  private final SynchronizedDeque = com.google.common.collect.Synchronized$SynchronizedDeque of com.google.common.collect.Synchronized
  private SynchronizedEntry = com.google.common.collect.Synchronized$SynchronizedEntry of com.google.common.collect.Synchronized
  private SynchronizedList = com.google.common.collect.Synchronized$SynchronizedList of com.google.common.collect.Synchronized
  private SynchronizedListMultimap = com.google.common.collect.Synchronized$SynchronizedListMultimap of com.google.common.collect.Synchronized
  private SynchronizedMap = com.google.common.collect.Synchronized$SynchronizedMap of com.google.common.collect.Synchronized
  private SynchronizedMultimap = com.google.common.collect.Synchronized$SynchronizedMultimap of com.google.common.collect.Synchronized
  private SynchronizedMultiset = com.google.common.collect.Synchronized$SynchronizedMultiset of com.google.common.collect.Synchronized
  SynchronizedNavigableMap = com.google.common.collect.Synchronized$SynchronizedNavigableMap of com.google.common.collect.Synchronized
  SynchronizedNavigableSet = com.google.common.collect.Synchronized$SynchronizedNavigableSet of com.google.common.collect.Synchronized
  SynchronizedObject = com.google.common.collect.Synchronized$SynchronizedObject of com.google.common.collect.Synchronized
  private SynchronizedQueue = com.google.common.collect.Synchronized$SynchronizedQueue of com.google.common.collect.Synchronized
  private SynchronizedRandomAccessList = com.google.common.collect.Synchronized$SynchronizedRandomAccessList of com.google.common.collect.Synchronized
  SynchronizedSet = com.google.common.collect.Synchronized$SynchronizedSet of com.google.common.collect.Synchronized
  private SynchronizedSetMultimap = com.google.common.collect.Synchronized$SynchronizedSetMultimap of com.google.common.collect.Synchronized
  SynchronizedSortedMap = com.google.common.collect.Synchronized$SynchronizedSortedMap of com.google.common.collect.Synchronized
  SynchronizedSortedSet = com.google.common.collect.Synchronized$SynchronizedSortedSet of com.google.common.collect.Synchronized
  private SynchronizedSortedSetMultimap = com.google.common.collect.Synchronized$SynchronizedSortedSetMultimap of com.google.common.collect.Synchronized
  private final SynchronizedTable = com.google.common.collect.Synchronized$SynchronizedTable of com.google.common.collect.Synchronized
  public abstract Entry = java.util.Map$Entry of java.util.Map
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtCompatible(emulated = true)