public abstract class org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap<K, V, C extends org.eclipse.collections.api.collection.MutableCollection<V>> extends org.eclipse.collections.impl.multimap.AbstractMutableMultimap<K, V, C>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap
  super_class: org.eclipse.collections.impl.multimap.AbstractMutableMultimap
{
  private final java.util.concurrent.atomic.AtomicInteger atomicTotalSize;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap this
         0: .line 24
            aload 0 /* this */
            invokespecial org.eclipse.collections.impl.multimap.AbstractMutableMultimap.<init>:()V
         1: .line 22
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicInteger
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
            putfield org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap.atomicTotalSize:Ljava/util/concurrent/atomic/AtomicInteger;
         2: .line 26
            return
        end local 0 // org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/collections/impl/multimap/AbstractSynchronizedPutMultimap<TK;TV;TC;>;

  protected void <init>(org.eclipse.collections.api.map.MutableMap<K, C>);
    descriptor: (Lorg/eclipse/collections/api/map/MutableMap;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap this
        start local 1 // org.eclipse.collections.api.map.MutableMap newMap
         0: .line 30
            aload 0 /* this */
            aload 1 /* newMap */
            invokespecial org.eclipse.collections.impl.multimap.AbstractMutableMultimap.<init>:(Lorg/eclipse/collections/api/map/MutableMap;)V
         1: .line 22
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicInteger
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
            putfield org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap.atomicTotalSize:Ljava/util/concurrent/atomic/AtomicInteger;
         2: .line 31
            return
        end local 1 // org.eclipse.collections.api.map.MutableMap newMap
        end local 0 // org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/eclipse/collections/impl/multimap/AbstractSynchronizedPutMultimap<TK;TV;TC;>;
            0    3     1  newMap  Lorg/eclipse/collections/api/map/MutableMap<TK;TC;>;
    Signature: (Lorg/eclipse/collections/api/map/MutableMap<TK;TC;>;)V
    MethodParameters:
        Name  Flags
      newMap  

  protected org.eclipse.collections.api.map.MutableMap<K, C> createMap();
    descriptor: ()Lorg/eclipse/collections/api/map/MutableMap;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap this
         0: .line 36
            invokestatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.newMap:()Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;
            areturn
        end local 0 // org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/collections/impl/multimap/AbstractSynchronizedPutMultimap<TK;TV;TC;>;
    Signature: ()Lorg/eclipse/collections/api/map/MutableMap<TK;TC;>;

  protected org.eclipse.collections.api.map.MutableMap<K, C> createMapWithKeyCount(int);
    descriptor: (I)Lorg/eclipse/collections/api/map/MutableMap;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap this
        start local 1 // int keyCount
         0: .line 42
            iload 1 /* keyCount */
            invokestatic org.eclipse.collections.impl.map.mutable.ConcurrentHashMap.newMap:(I)Lorg/eclipse/collections/impl/map/mutable/ConcurrentHashMap;
            areturn
        end local 1 // int keyCount
        end local 0 // org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/eclipse/collections/impl/multimap/AbstractSynchronizedPutMultimap<TK;TV;TC;>;
            0    1     1  keyCount  I
    Signature: (I)Lorg/eclipse/collections/api/map/MutableMap<TK;TC;>;
    MethodParameters:
          Name  Flags
      keyCount  

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap this
         0: .line 48
            aload 0 /* this */
            getfield org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap.atomicTotalSize:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            ireturn
        end local 0 // org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/collections/impl/multimap/AbstractSynchronizedPutMultimap<TK;TV;TC;>;

  protected void incrementTotalSize();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap this
         0: .line 54
            aload 0 /* this */
            getfield org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap.atomicTotalSize:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
            pop
         1: .line 55
            return
        end local 0 // org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/collections/impl/multimap/AbstractSynchronizedPutMultimap<TK;TV;TC;>;

  protected void decrementTotalSize();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap this
         0: .line 60
            aload 0 /* this */
            getfield org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap.atomicTotalSize:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
            pop
         1: .line 61
            return
        end local 0 // org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/collections/impl/multimap/AbstractSynchronizedPutMultimap<TK;TV;TC;>;

  protected void addToTotalSize(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap this
        start local 1 // int value
         0: .line 66
            aload 0 /* this */
            getfield org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap.atomicTotalSize:Ljava/util/concurrent/atomic/AtomicInteger;
            iload 1 /* value */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.addAndGet:(I)I
            pop
         1: .line 67
            return
        end local 1 // int value
        end local 0 // org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/eclipse/collections/impl/multimap/AbstractSynchronizedPutMultimap<TK;TV;TC;>;
            0    2     1  value  I
    MethodParameters:
       Name  Flags
      value  

  protected void subtractFromTotalSize(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap this
        start local 1 // int value
         0: .line 72
            aload 0 /* this */
            getfield org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap.atomicTotalSize:Ljava/util/concurrent/atomic/AtomicInteger;
            iload 1 /* value */
            ineg
            invokevirtual java.util.concurrent.atomic.AtomicInteger.addAndGet:(I)I
            pop
         1: .line 73
            return
        end local 1 // int value
        end local 0 // org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/eclipse/collections/impl/multimap/AbstractSynchronizedPutMultimap<TK;TV;TC;>;
            0    2     1  value  I
    MethodParameters:
       Name  Flags
      value  

  protected void clearTotalSize();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap this
         0: .line 78
            aload 0 /* this */
            getfield org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap.atomicTotalSize:Ljava/util/concurrent/atomic/AtomicInteger;
            iconst_0
            invokevirtual java.util.concurrent.atomic.AtomicInteger.set:(I)V
         1: .line 79
            return
        end local 0 // org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/collections/impl/multimap/AbstractSynchronizedPutMultimap<TK;TV;TC;>;

  public boolean put(K, );
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap this
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object value
         0: .line 84
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap.getIfAbsentPutCollection:(Ljava/lang/Object;)Lorg/eclipse/collections/api/collection/MutableCollection;
            astore 3 /* collection */
        start local 3 // org.eclipse.collections.api.collection.MutableCollection collection
         1: .line 85
            aload 3 /* collection */
            dup
            astore 4
            monitorenter
         2: .line 87
            aload 3 /* collection */
            aload 2 /* value */
            invokeinterface org.eclipse.collections.api.collection.MutableCollection.add:(Ljava/lang/Object;)Z
            ifeq 6
         3: .line 89
            aload 0 /* this */
            invokevirtual org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap.incrementTotalSize:()V
         4: .line 90
            aload 4
            monitorexit
         5: iconst_1
            ireturn
         6: .line 92
      StackMap locals: org.eclipse.collections.api.collection.MutableCollection org.eclipse.collections.api.collection.MutableCollection
      StackMap stack:
            aload 4
            monitorexit
         7: iconst_0
            ireturn
         8: .line 85
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 4
            monitorexit
         9: athrow
        end local 3 // org.eclipse.collections.api.collection.MutableCollection collection
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object key
        end local 0 // org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lorg/eclipse/collections/impl/multimap/AbstractSynchronizedPutMultimap<TK;TV;TC;>;
            0   10     1         key  TK;
            0   10     2       value  TV;
            1   10     3  collection  Lorg/eclipse/collections/api/collection/MutableCollection<TV;>;
      Exception table:
        from    to  target  type
           2     5       8  any
           6     7       8  any
           8     9       8  any
    Signature: (TK;TV;)Z
    MethodParameters:
       Name  Flags
      key    
      value  

  private C getIfAbsentPutCollection();
    descriptor: (Ljava/lang/Object;)Lorg/eclipse/collections/api/collection/MutableCollection;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap this
        start local 1 // java.lang.Object key
         0: .line 98
            aload 0 /* this */
            getfield org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap.map:Lorg/eclipse/collections/api/map/MutableMap;
            aload 1 /* key */
            aload 0 /* this */
            invokevirtual org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap.createCollectionBlock:()Lorg/eclipse/collections/api/block/function/Function;
            aload 0 /* this */
            invokeinterface org.eclipse.collections.api.map.MutableMap.getIfAbsentPutWith:(Ljava/lang/Object;Lorg/eclipse/collections/api/block/function/Function;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.collections.api.collection.MutableCollection
            areturn
        end local 1 // java.lang.Object key
        end local 0 // org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/collections/impl/multimap/AbstractSynchronizedPutMultimap<TK;TV;TC;>;
            0    1     1   key  TK;
    Signature: (TK;)TC;
    MethodParameters:
      Name  Flags
      key   

  public C getIfAbsentPutAll(K, java.lang.Iterable<? extends V>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Iterable;)Lorg/eclipse/collections/api/collection/MutableCollection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap this
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Iterable values
         0: .line 104
            aload 2 /* values */
            invokestatic org.eclipse.collections.impl.utility.Iterate.isEmpty:(Ljava/lang/Iterable;)Z
            ifeq 2
         1: .line 106
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap.get:(Ljava/lang/Object;)Lorg/eclipse/collections/api/collection/MutableCollection;
            areturn
         2: .line 109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap.getIfAbsentPutCollection:(Ljava/lang/Object;)Lorg/eclipse/collections/api/collection/MutableCollection;
            astore 3 /* existingValues */
        start local 3 // org.eclipse.collections.api.collection.MutableCollection existingValues
         3: .line 110
            aload 3 /* existingValues */
            dup
            astore 4
            monitorenter
         4: .line 112
            aload 3 /* existingValues */
            invokeinterface org.eclipse.collections.api.collection.MutableCollection.isEmpty:()Z
            ifeq 7
         5: .line 114
            aload 2 /* values */
            aload 3 /* existingValues */
            invokestatic org.eclipse.collections.impl.utility.Iterate.addAllTo:(Ljava/lang/Iterable;Ljava/util/Collection;)Ljava/util/Collection;
            checkcast org.eclipse.collections.api.collection.MutableCollection
            invokeinterface org.eclipse.collections.api.collection.MutableCollection.size:()I
            istore 5 /* newSize */
        start local 5 // int newSize
         6: .line 115
            aload 0 /* this */
            iload 5 /* newSize */
            invokevirtual org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap.addToTotalSize:(I)V
        end local 5 // int newSize
         7: .line 118
      StackMap locals: org.eclipse.collections.api.collection.MutableCollection org.eclipse.collections.api.collection.MutableCollection
      StackMap stack:
            aload 3 /* existingValues */
            invokeinterface org.eclipse.collections.api.collection.MutableCollection.asUnmodifiable:()Lorg/eclipse/collections/api/collection/MutableCollection;
            aload 4
            monitorexit
         8: areturn
         9: .line 110
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 4
            monitorexit
        10: athrow
        end local 3 // org.eclipse.collections.api.collection.MutableCollection existingValues
        end local 2 // java.lang.Iterable values
        end local 1 // java.lang.Object key
        end local 0 // org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lorg/eclipse/collections/impl/multimap/AbstractSynchronizedPutMultimap<TK;TV;TC;>;
            0   11     1             key  TK;
            0   11     2          values  Ljava/lang/Iterable<+TV;>;
            3   11     3  existingValues  TC;
            6    7     5         newSize  I
      Exception table:
        from    to  target  type
           4     8       9  any
           9    10       9  any
    Signature: (TK;Ljava/lang/Iterable<+TV;>;)TC;
    MethodParameters:
        Name  Flags
      key     
      values  
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;C::Lorg/eclipse/collections/api/collection/MutableCollection<TV;>;>Lorg/eclipse/collections/impl/multimap/AbstractMutableMultimap<TK;TV;TC;>;
SourceFile: "AbstractSynchronizedPutMultimap.java"