public class org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection<T> extends org.eclipse.collections.impl.collection.mutable.AbstractSynchronizedMutableCollection<T> implements java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection
  super_class: org.eclipse.collections.impl.collection.mutable.AbstractSynchronizedMutableCollection
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  void <init>(org.eclipse.collections.api.collection.MutableCollection<T>);
    descriptor: (Lorg/eclipse/collections/api/collection/MutableCollection;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection this
        start local 1 // org.eclipse.collections.api.collection.MutableCollection newCollection
         0: .line 33
            aload 0 /* this */
            aload 1 /* newCollection */
            aconst_null
            invokespecial org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection.<init>:(Lorg/eclipse/collections/api/collection/MutableCollection;Ljava/lang/Object;)V
         1: .line 34
            return
        end local 1 // org.eclipse.collections.api.collection.MutableCollection newCollection
        end local 0 // org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/eclipse/collections/impl/collection/mutable/SynchronizedMutableCollection<TT;>;
            0    2     1  newCollection  Lorg/eclipse/collections/api/collection/MutableCollection<TT;>;
    Signature: (Lorg/eclipse/collections/api/collection/MutableCollection<TT;>;)V
    MethodParameters:
               Name  Flags
      newCollection  

  void <init>(org.eclipse.collections.api.collection.MutableCollection<T>, );
    descriptor: (Lorg/eclipse/collections/api/collection/MutableCollection;Ljava/lang/Object;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection this
        start local 1 // org.eclipse.collections.api.collection.MutableCollection newCollection
        start local 2 // java.lang.Object newLock
         0: .line 38
            aload 0 /* this */
            aload 1 /* newCollection */
            aload 2 /* newLock */
            invokespecial org.eclipse.collections.impl.collection.mutable.AbstractSynchronizedMutableCollection.<init>:(Lorg/eclipse/collections/api/collection/MutableCollection;Ljava/lang/Object;)V
         1: .line 39
            return
        end local 2 // java.lang.Object newLock
        end local 1 // org.eclipse.collections.api.collection.MutableCollection newCollection
        end local 0 // org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/eclipse/collections/impl/collection/mutable/SynchronizedMutableCollection<TT;>;
            0    2     1  newCollection  Lorg/eclipse/collections/api/collection/MutableCollection<TT;>;
            0    2     2        newLock  Ljava/lang/Object;
    Signature: (Lorg/eclipse/collections/api/collection/MutableCollection<TT;>;Ljava/lang/Object;)V
    MethodParameters:
               Name  Flags
      newCollection  
      newLock        

  public static <E, C extends java.util.Collection<E>> org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection<E> of(C);
    descriptor: (Ljava/util/Collection;)Lorg/eclipse/collections/impl/collection/mutable/SynchronizedMutableCollection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Collection collection
         0: .line 48
            new org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection
            dup
            aload 0 /* collection */
            invokestatic org.eclipse.collections.impl.collection.mutable.CollectionAdapter.adapt:(Ljava/util/Collection;)Lorg/eclipse/collections/api/collection/MutableCollection;
            invokespecial org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection.<init>:(Lorg/eclipse/collections/api/collection/MutableCollection;)V
            areturn
        end local 0 // java.util.Collection collection
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  collection  TC;
    Signature: <E:Ljava/lang/Object;C::Ljava/util/Collection<TE;>;>(TC;)Lorg/eclipse/collections/impl/collection/mutable/SynchronizedMutableCollection<TE;>;
    MethodParameters:
            Name  Flags
      collection  

  public static <E, C extends java.util.Collection<E>> org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection<E> of(C, );
    descriptor: (Ljava/util/Collection;Ljava/lang/Object;)Lorg/eclipse/collections/impl/collection/mutable/SynchronizedMutableCollection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.Collection collection
        start local 1 // java.lang.Object lock
         0: .line 59
            new org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection
            dup
            aload 0 /* collection */
            invokestatic org.eclipse.collections.impl.collection.mutable.CollectionAdapter.adapt:(Ljava/util/Collection;)Lorg/eclipse/collections/api/collection/MutableCollection;
            aload 1 /* lock */
            invokespecial org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection.<init>:(Lorg/eclipse/collections/api/collection/MutableCollection;Ljava/lang/Object;)V
            areturn
        end local 1 // java.lang.Object lock
        end local 0 // java.util.Collection collection
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  collection  TC;
            0    1     1        lock  Ljava/lang/Object;
    Signature: <E:Ljava/lang/Object;C::Ljava/util/Collection<TE;>;>(TC;Ljava/lang/Object;)Lorg/eclipse/collections/impl/collection/mutable/SynchronizedMutableCollection<TE;>;
    MethodParameters:
            Name  Flags
      collection  
      lock        

  protected java.lang.Object writeReplace();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection this
         0: .line 64
            new org.eclipse.collections.impl.collection.mutable.SynchronizedCollectionSerializationProxy
            dup
            aload 0 /* this */
            invokevirtual org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection.getDelegate:()Lorg/eclipse/collections/api/collection/MutableCollection;
            invokespecial org.eclipse.collections.impl.collection.mutable.SynchronizedCollectionSerializationProxy.<init>:(Lorg/eclipse/collections/api/collection/MutableCollection;)V
            areturn
        end local 0 // org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/collections/impl/collection/mutable/SynchronizedMutableCollection<TT;>;

  public org.eclipse.collections.api.collection.MutableCollection<T> with(T);
    descriptor: (Ljava/lang/Object;)Lorg/eclipse/collections/api/collection/MutableCollection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection this
        start local 1 // java.lang.Object element
         0: .line 70
            aload 0 /* this */
            aload 1 /* element */
            invokevirtual org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection.add:(Ljava/lang/Object;)Z
            pop
         1: .line 71
            aload 0 /* this */
            areturn
        end local 1 // java.lang.Object element
        end local 0 // org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/eclipse/collections/impl/collection/mutable/SynchronizedMutableCollection<TT;>;
            0    2     1  element  TT;
    Signature: (TT;)Lorg/eclipse/collections/api/collection/MutableCollection<TT;>;
    MethodParameters:
         Name  Flags
      element  

  public org.eclipse.collections.api.collection.MutableCollection<T> without(T);
    descriptor: (Ljava/lang/Object;)Lorg/eclipse/collections/api/collection/MutableCollection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection this
        start local 1 // java.lang.Object element
         0: .line 77
            aload 0 /* this */
            aload 1 /* element */
            invokevirtual org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 78
            aload 0 /* this */
            areturn
        end local 1 // java.lang.Object element
        end local 0 // org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/eclipse/collections/impl/collection/mutable/SynchronizedMutableCollection<TT;>;
            0    2     1  element  TT;
    Signature: (TT;)Lorg/eclipse/collections/api/collection/MutableCollection<TT;>;
    MethodParameters:
         Name  Flags
      element  

  public org.eclipse.collections.api.collection.MutableCollection<T> withAll(java.lang.Iterable<? extends T>);
    descriptor: (Ljava/lang/Iterable;)Lorg/eclipse/collections/api/collection/MutableCollection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection this
        start local 1 // java.lang.Iterable elements
         0: .line 84
            aload 0 /* this */
            aload 1 /* elements */
            invokevirtual org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection.addAllIterable:(Ljava/lang/Iterable;)Z
            pop
         1: .line 85
            aload 0 /* this */
            areturn
        end local 1 // java.lang.Iterable elements
        end local 0 // org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/eclipse/collections/impl/collection/mutable/SynchronizedMutableCollection<TT;>;
            0    2     1  elements  Ljava/lang/Iterable<+TT;>;
    Signature: (Ljava/lang/Iterable<+TT;>;)Lorg/eclipse/collections/api/collection/MutableCollection<TT;>;
    MethodParameters:
          Name  Flags
      elements  

  public org.eclipse.collections.api.collection.MutableCollection<T> withoutAll(java.lang.Iterable<? extends T>);
    descriptor: (Ljava/lang/Iterable;)Lorg/eclipse/collections/api/collection/MutableCollection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection this
        start local 1 // java.lang.Iterable elements
         0: .line 91
            aload 0 /* this */
            aload 1 /* elements */
            invokevirtual org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection.removeAllIterable:(Ljava/lang/Iterable;)Z
            pop
         1: .line 92
            aload 0 /* this */
            areturn
        end local 1 // java.lang.Iterable elements
        end local 0 // org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/eclipse/collections/impl/collection/mutable/SynchronizedMutableCollection<TT;>;
            0    2     1  elements  Ljava/lang/Iterable<+TT;>;
    Signature: (Ljava/lang/Iterable<+TT;>;)Lorg/eclipse/collections/api/collection/MutableCollection<TT;>;
    MethodParameters:
          Name  Flags
      elements  

  public org.eclipse.collections.api.collection.MutableCollection<T> asUnmodifiable();
    descriptor: ()Lorg/eclipse/collections/api/collection/MutableCollection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection this
         0: .line 98
            aload 0 /* this */
            getfield org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection.lock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 100
            new org.eclipse.collections.impl.collection.mutable.UnmodifiableMutableCollection
            dup
            aload 0 /* this */
            invokespecial org.eclipse.collections.impl.collection.mutable.UnmodifiableMutableCollection.<init>:(Lorg/eclipse/collections/api/collection/MutableCollection;)V
            aload 1
            monitorexit
         2: areturn
         3: .line 98
      StackMap locals: org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         4: athrow
        end local 0 // org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/eclipse/collections/impl/collection/mutable/SynchronizedMutableCollection<TT;>;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any
    Signature: ()Lorg/eclipse/collections/api/collection/MutableCollection<TT;>;

  public org.eclipse.collections.api.collection.MutableCollection<T> asSynchronized();
    descriptor: ()Lorg/eclipse/collections/api/collection/MutableCollection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection this
         0: .line 107
            aload 0 /* this */
            areturn
        end local 0 // org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/collections/impl/collection/mutable/SynchronizedMutableCollection<TT;>;
    Signature: ()Lorg/eclipse/collections/api/collection/MutableCollection<TT;>;

  public org.eclipse.collections.api.collection.ImmutableCollection<T> toImmutable();
    descriptor: ()Lorg/eclipse/collections/api/collection/ImmutableCollection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection this
         0: .line 113
            aload 0 /* this */
            getfield org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection.lock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 115
            aload 0 /* this */
            invokevirtual org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection.getDelegate:()Lorg/eclipse/collections/api/collection/MutableCollection;
            invokeinterface org.eclipse.collections.api.collection.MutableCollection.toImmutable:()Lorg/eclipse/collections/api/collection/ImmutableCollection;
            aload 1
            monitorexit
         2: areturn
         3: .line 113
      StackMap locals: org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         4: athrow
        end local 0 // org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/eclipse/collections/impl/collection/mutable/SynchronizedMutableCollection<TT;>;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any
    Signature: ()Lorg/eclipse/collections/api/collection/ImmutableCollection<TT;>;

  public org.eclipse.collections.api.collection.MutableCollection<T> newEmpty();
    descriptor: ()Lorg/eclipse/collections/api/collection/MutableCollection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection this
         0: .line 122
            aload 0 /* this */
            invokevirtual org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection.getLock:()Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 124
            aload 0 /* this */
            invokevirtual org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection.getDelegate:()Lorg/eclipse/collections/api/collection/MutableCollection;
            invokeinterface org.eclipse.collections.api.collection.MutableCollection.newEmpty:()Lorg/eclipse/collections/api/collection/MutableCollection;
            invokeinterface org.eclipse.collections.api.collection.MutableCollection.asSynchronized:()Lorg/eclipse/collections/api/collection/MutableCollection;
            aload 1
            monitorexit
         2: areturn
         3: .line 122
      StackMap locals: org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         4: athrow
        end local 0 // org.eclipse.collections.impl.collection.mutable.SynchronizedMutableCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/eclipse/collections/impl/collection/mutable/SynchronizedMutableCollection<TT;>;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any
    Signature: ()Lorg/eclipse/collections/api/collection/MutableCollection<TT;>;
}
Signature: <T:Ljava/lang/Object;>Lorg/eclipse/collections/impl/collection/mutable/AbstractSynchronizedMutableCollection<TT;>;Ljava/io/Serializable;
SourceFile: "SynchronizedMutableCollection.java"