class javafx.collections.FXCollections$UnmodifiableObservableSet<E> extends java.util.AbstractSet<E> implements javafx.collections.ObservableSet<E>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javafx.collections.FXCollections$UnmodifiableObservableSet
  super_class: java.util.AbstractSet
{
  private final javafx.collections.ObservableSet<E> backingSet;
    descriptor: Ljavafx/collections/ObservableSet;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljavafx/collections/ObservableSet<TE;>;

  private com.sun.javafx.collections.SetListenerHelper<E> listenerHelper;
    descriptor: Lcom/sun/javafx/collections/SetListenerHelper;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lcom/sun/javafx/collections/SetListenerHelper<TE;>;

  private javafx.collections.SetChangeListener<E> listener;
    descriptor: Ljavafx/collections/SetChangeListener;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljavafx/collections/SetChangeListener<TE;>;

  public void <init>(javafx.collections.ObservableSet<E>);
    descriptor: (Ljavafx/collections/ObservableSet;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
        start local 1 // javafx.collections.ObservableSet backingSet
         0: .line 1664
            aload 0 /* this */
            invokespecial java.util.AbstractSet.<init>:()V
         1: .line 1665
            aload 0 /* this */
            aload 1 /* backingSet */
            putfield javafx.collections.FXCollections$UnmodifiableObservableSet.backingSet:Ljavafx/collections/ObservableSet;
         2: .line 1666
            aload 0 /* this */
            aconst_null
            putfield javafx.collections.FXCollections$UnmodifiableObservableSet.listener:Ljavafx/collections/SetChangeListener;
         3: .line 1667
            return
        end local 1 // javafx.collections.ObservableSet backingSet
        end local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Ljavafx/collections/FXCollections$UnmodifiableObservableSet<TE;>;
            0    4     1  backingSet  Ljavafx/collections/ObservableSet<TE;>;
    Signature: (Ljavafx/collections/ObservableSet<TE;>;)V
    MethodParameters:
            Name  Flags
      backingSet  

  private void initListener();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
         0: .line 1670
            aload 0 /* this */
            getfield javafx.collections.FXCollections$UnmodifiableObservableSet.listener:Ljavafx/collections/SetChangeListener;
            ifnonnull 3
         1: .line 1671
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic onChanged(Ljavafx/collections/FXCollections$UnmodifiableObservableSet;)Ljavafx/collections/SetChangeListener;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljavafx/collections/SetChangeListener$Change;)V
                  javafx/collections/FXCollections$UnmodifiableObservableSet.lambda$0(Ljavafx/collections/SetChangeListener$Change;)V (7)
                  (Ljavafx/collections/SetChangeListener$Change;)V
            putfield javafx.collections.FXCollections$UnmodifiableObservableSet.listener:Ljavafx/collections/SetChangeListener;
         2: .line 1674
            aload 0 /* this */
            getfield javafx.collections.FXCollections$UnmodifiableObservableSet.backingSet:Ljavafx/collections/ObservableSet;
            new javafx.collections.WeakSetChangeListener
            dup
            aload 0 /* this */
            getfield javafx.collections.FXCollections$UnmodifiableObservableSet.listener:Ljavafx/collections/SetChangeListener;
            invokespecial javafx.collections.WeakSetChangeListener.<init>:(Ljavafx/collections/SetChangeListener;)V
            invokeinterface javafx.collections.ObservableSet.addListener:(Ljavafx/collections/SetChangeListener;)V
         3: .line 1676
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavafx/collections/FXCollections$UnmodifiableObservableSet<TE;>;

  private void callObservers(javafx.collections.SetChangeListener$Change<? extends E>);
    descriptor: (Ljavafx/collections/SetChangeListener$Change;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
        start local 1 // javafx.collections.SetChangeListener$Change change
         0: .line 1679
            aload 0 /* this */
            getfield javafx.collections.FXCollections$UnmodifiableObservableSet.listenerHelper:Lcom/sun/javafx/collections/SetListenerHelper;
            aload 1 /* change */
            invokestatic com.sun.javafx.collections.SetListenerHelper.fireValueChangedEvent:(Lcom/sun/javafx/collections/SetListenerHelper;Ljavafx/collections/SetChangeListener$Change;)V
         1: .line 1680
            return
        end local 1 // javafx.collections.SetChangeListener$Change change
        end local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljavafx/collections/FXCollections$UnmodifiableObservableSet<TE;>;
            0    2     1  change  Ljavafx/collections/SetChangeListener$Change<+TE;>;
    Signature: (Ljavafx/collections/SetChangeListener$Change<+TE;>;)V
    MethodParameters:
        Name  Flags
      change  

  public java.util.Iterator<E> iterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
         0: .line 1684
            new javafx.collections.FXCollections$UnmodifiableObservableSet$1
            dup
            aload 0 /* this */
            invokespecial javafx.collections.FXCollections$UnmodifiableObservableSet$1.<init>:(Ljavafx/collections/FXCollections$UnmodifiableObservableSet;)V
            areturn
        end local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavafx/collections/FXCollections$UnmodifiableObservableSet<TE;>;
    Signature: ()Ljava/util/Iterator<TE;>;

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
         0: .line 1701
            aload 0 /* this */
            getfield javafx.collections.FXCollections$UnmodifiableObservableSet.backingSet:Ljavafx/collections/ObservableSet;
            invokeinterface javafx.collections.ObservableSet.size:()I
            ireturn
        end local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavafx/collections/FXCollections$UnmodifiableObservableSet<TE;>;

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
         0: .line 1706
            aload 0 /* this */
            getfield javafx.collections.FXCollections$UnmodifiableObservableSet.backingSet:Ljavafx/collections/ObservableSet;
            invokeinterface javafx.collections.ObservableSet.isEmpty:()Z
            ireturn
        end local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavafx/collections/FXCollections$UnmodifiableObservableSet<TE;>;

  public boolean contains(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
        start local 1 // java.lang.Object o
         0: .line 1711
            aload 0 /* this */
            getfield javafx.collections.FXCollections$UnmodifiableObservableSet.backingSet:Ljavafx/collections/ObservableSet;
            aload 1 /* o */
            invokeinterface javafx.collections.ObservableSet.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object o
        end local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavafx/collections/FXCollections$UnmodifiableObservableSet<TE;>;
            0    1     1     o  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      o     

  public void addListener(javafx.beans.InvalidationListener);
    descriptor: (Ljavafx/beans/InvalidationListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
        start local 1 // javafx.beans.InvalidationListener listener
         0: .line 1716
            aload 0 /* this */
            invokevirtual javafx.collections.FXCollections$UnmodifiableObservableSet.initListener:()V
         1: .line 1717
            aload 0 /* this */
            aload 0 /* this */
            getfield javafx.collections.FXCollections$UnmodifiableObservableSet.listenerHelper:Lcom/sun/javafx/collections/SetListenerHelper;
            aload 1 /* listener */
            invokestatic com.sun.javafx.collections.SetListenerHelper.addListener:(Lcom/sun/javafx/collections/SetListenerHelper;Ljavafx/beans/InvalidationListener;)Lcom/sun/javafx/collections/SetListenerHelper;
            putfield javafx.collections.FXCollections$UnmodifiableObservableSet.listenerHelper:Lcom/sun/javafx/collections/SetListenerHelper;
         2: .line 1718
            return
        end local 1 // javafx.beans.InvalidationListener listener
        end local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Ljavafx/collections/FXCollections$UnmodifiableObservableSet<TE;>;
            0    3     1  listener  Ljavafx/beans/InvalidationListener;
    MethodParameters:
          Name  Flags
      listener  

  public void removeListener(javafx.beans.InvalidationListener);
    descriptor: (Ljavafx/beans/InvalidationListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
        start local 1 // javafx.beans.InvalidationListener listener
         0: .line 1722
            aload 0 /* this */
            aload 0 /* this */
            getfield javafx.collections.FXCollections$UnmodifiableObservableSet.listenerHelper:Lcom/sun/javafx/collections/SetListenerHelper;
            aload 1 /* listener */
            invokestatic com.sun.javafx.collections.SetListenerHelper.removeListener:(Lcom/sun/javafx/collections/SetListenerHelper;Ljavafx/beans/InvalidationListener;)Lcom/sun/javafx/collections/SetListenerHelper;
            putfield javafx.collections.FXCollections$UnmodifiableObservableSet.listenerHelper:Lcom/sun/javafx/collections/SetListenerHelper;
         1: .line 1723
            return
        end local 1 // javafx.beans.InvalidationListener listener
        end local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljavafx/collections/FXCollections$UnmodifiableObservableSet<TE;>;
            0    2     1  listener  Ljavafx/beans/InvalidationListener;
    MethodParameters:
          Name  Flags
      listener  

  public void addListener(javafx.collections.SetChangeListener<? super E>);
    descriptor: (Ljavafx/collections/SetChangeListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
        start local 1 // javafx.collections.SetChangeListener listener
         0: .line 1727
            aload 0 /* this */
            invokevirtual javafx.collections.FXCollections$UnmodifiableObservableSet.initListener:()V
         1: .line 1728
            aload 0 /* this */
            aload 0 /* this */
            getfield javafx.collections.FXCollections$UnmodifiableObservableSet.listenerHelper:Lcom/sun/javafx/collections/SetListenerHelper;
            aload 1 /* listener */
            invokestatic com.sun.javafx.collections.SetListenerHelper.addListener:(Lcom/sun/javafx/collections/SetListenerHelper;Ljavafx/collections/SetChangeListener;)Lcom/sun/javafx/collections/SetListenerHelper;
            putfield javafx.collections.FXCollections$UnmodifiableObservableSet.listenerHelper:Lcom/sun/javafx/collections/SetListenerHelper;
         2: .line 1729
            return
        end local 1 // javafx.collections.SetChangeListener listener
        end local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Ljavafx/collections/FXCollections$UnmodifiableObservableSet<TE;>;
            0    3     1  listener  Ljavafx/collections/SetChangeListener<-TE;>;
    Signature: (Ljavafx/collections/SetChangeListener<-TE;>;)V
    MethodParameters:
          Name  Flags
      listener  

  public void removeListener(javafx.collections.SetChangeListener<? super E>);
    descriptor: (Ljavafx/collections/SetChangeListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
        start local 1 // javafx.collections.SetChangeListener listener
         0: .line 1733
            aload 0 /* this */
            aload 0 /* this */
            getfield javafx.collections.FXCollections$UnmodifiableObservableSet.listenerHelper:Lcom/sun/javafx/collections/SetListenerHelper;
            aload 1 /* listener */
            invokestatic com.sun.javafx.collections.SetListenerHelper.removeListener:(Lcom/sun/javafx/collections/SetListenerHelper;Ljavafx/collections/SetChangeListener;)Lcom/sun/javafx/collections/SetListenerHelper;
            putfield javafx.collections.FXCollections$UnmodifiableObservableSet.listenerHelper:Lcom/sun/javafx/collections/SetListenerHelper;
         1: .line 1734
            return
        end local 1 // javafx.collections.SetChangeListener listener
        end local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljavafx/collections/FXCollections$UnmodifiableObservableSet<TE;>;
            0    2     1  listener  Ljavafx/collections/SetChangeListener<-TE;>;
    Signature: (Ljavafx/collections/SetChangeListener<-TE;>;)V
    MethodParameters:
          Name  Flags
      listener  

  public boolean add();
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
        start local 1 // java.lang.Object e
         0: .line 1738
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 1 // java.lang.Object e
        end local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavafx/collections/FXCollections$UnmodifiableObservableSet<TE;>;
            0    1     1     e  TE;
    Signature: (TE;)Z
    MethodParameters:
      Name  Flags
      e     

  public boolean remove(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
        start local 1 // java.lang.Object o
         0: .line 1743
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 1 // java.lang.Object o
        end local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavafx/collections/FXCollections$UnmodifiableObservableSet<TE;>;
            0    1     1     o  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      o     

  public boolean addAll(java.util.Collection<? extends E>);
    descriptor: (Ljava/util/Collection;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
        start local 1 // java.util.Collection c
         0: .line 1748
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 1 // java.util.Collection c
        end local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavafx/collections/FXCollections$UnmodifiableObservableSet<TE;>;
            0    1     1     c  Ljava/util/Collection<+TE;>;
    Signature: (Ljava/util/Collection<+TE;>;)Z
    MethodParameters:
      Name  Flags
      c     

  public boolean retainAll(java.util.Collection<?>);
    descriptor: (Ljava/util/Collection;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
        start local 1 // java.util.Collection c
         0: .line 1753
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 1 // java.util.Collection c
        end local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavafx/collections/FXCollections$UnmodifiableObservableSet<TE;>;
            0    1     1     c  Ljava/util/Collection<*>;
    Signature: (Ljava/util/Collection<*>;)Z
    MethodParameters:
      Name  Flags
      c     

  public boolean removeAll(java.util.Collection<?>);
    descriptor: (Ljava/util/Collection;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
        start local 1 // java.util.Collection c
         0: .line 1758
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 1 // java.util.Collection c
        end local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavafx/collections/FXCollections$UnmodifiableObservableSet<TE;>;
            0    1     1     c  Ljava/util/Collection<*>;
    Signature: (Ljava/util/Collection<*>;)Z
    MethodParameters:
      Name  Flags
      c     

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
         0: .line 1763
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavafx/collections/FXCollections$UnmodifiableObservableSet<TE;>;

  private void lambda$0(javafx.collections.SetChangeListener$Change);
    descriptor: (Ljavafx/collections/SetChangeListener$Change;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
        start local 1 // javafx.collections.SetChangeListener$Change c
         0: .line 1672
            aload 0 /* this */
            new com.sun.javafx.collections.SetAdapterChange
            dup
            aload 0 /* this */
            aload 1 /* c */
            invokespecial com.sun.javafx.collections.SetAdapterChange.<init>:(Ljavafx/collections/ObservableSet;Ljavafx/collections/SetChangeListener$Change;)V
            invokevirtual javafx.collections.FXCollections$UnmodifiableObservableSet.callObservers:(Ljavafx/collections/SetChangeListener$Change;)V
         1: .line 1673
            return
        end local 1 // javafx.collections.SetChangeListener$Change c
        end local 0 // javafx.collections.FXCollections$UnmodifiableObservableSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavafx/collections/FXCollections$UnmodifiableObservableSet<TE;>;
            0    2     1     c  Ljavafx/collections/SetChangeListener$Change<+TE;>;
}
Signature: <E:Ljava/lang/Object;>Ljava/util/AbstractSet<TE;>;Ljavafx/collections/ObservableSet<TE;>;
SourceFile: "FXCollections.java"
NestHost: javafx.collections.FXCollections
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  private UnmodifiableObservableSet = javafx.collections.FXCollections$UnmodifiableObservableSet of javafx.collections.FXCollections
  javafx.collections.FXCollections$UnmodifiableObservableSet$1
  public abstract Change = javafx.collections.SetChangeListener$Change of javafx.collections.SetChangeListener