class com.google.common.collect.Maps$FilteredEntryMap<K, V> extends com.google.common.collect.Maps$AbstractFilteredMap<K, V>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.google.common.collect.Maps$FilteredEntryMap
  super_class: com.google.common.collect.Maps$AbstractFilteredMap
{
  final java.util.Set<java.util.Map$Entry<K, V>> filteredEntrySet;
    descriptor: Ljava/util/Set;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/Set<Ljava/util/Map$Entry<TK;TV;>;>;

  void <init>(java.util.Map<K, V>, com.google.common.base.Predicate<? super java.util.Map$Entry<K, V>>);
    descriptor: (Ljava/util/Map;Lcom/google/common/base/Predicate;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.google.common.collect.Maps$FilteredEntryMap this
        start local 1 // java.util.Map unfiltered
        start local 2 // com.google.common.base.Predicate entryPredicate
         0: .line 2853
            aload 0 /* this */
            aload 1 /* unfiltered */
            aload 2 /* entryPredicate */
            invokespecial com.google.common.collect.Maps$AbstractFilteredMap.<init>:(Ljava/util/Map;Lcom/google/common/base/Predicate;)V
         1: .line 2854
            aload 0 /* this */
            aload 1 /* unfiltered */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            aload 0 /* this */
            getfield com.google.common.collect.Maps$FilteredEntryMap.predicate:Lcom/google/common/base/Predicate;
            invokestatic com.google.common.collect.Sets.filter:(Ljava/util/Set;Lcom/google/common/base/Predicate;)Ljava/util/Set;
            putfield com.google.common.collect.Maps$FilteredEntryMap.filteredEntrySet:Ljava/util/Set;
         2: .line 2855
            return
        end local 2 // com.google.common.base.Predicate entryPredicate
        end local 1 // java.util.Map unfiltered
        end local 0 // com.google.common.collect.Maps$FilteredEntryMap this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lcom/google/common/collect/Maps$FilteredEntryMap<TK;TV;>;
            0    3     1      unfiltered  Ljava/util/Map<TK;TV;>;
            0    3     2  entryPredicate  Lcom/google/common/base/Predicate<-Ljava/util/Map$Entry<TK;TV;>;>;
    Signature: (Ljava/util/Map<TK;TV;>;Lcom/google/common/base/Predicate<-Ljava/util/Map$Entry<TK;TV;>;>;)V
    MethodParameters:
                Name  Flags
      unfiltered      
      entryPredicate  

  protected java.util.Set<java.util.Map$Entry<K, V>> createEntrySet();
    descriptor: ()Ljava/util/Set;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.google.common.collect.Maps$FilteredEntryMap this
         0: .line 2859
            new com.google.common.collect.Maps$FilteredEntryMap$EntrySet
            dup
            aload 0 /* this */
            invokespecial com.google.common.collect.Maps$FilteredEntryMap$EntrySet.<init>:(Lcom/google/common/collect/Maps$FilteredEntryMap;)V
            areturn
        end local 0 // com.google.common.collect.Maps$FilteredEntryMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/Maps$FilteredEntryMap<TK;TV;>;
    Signature: ()Ljava/util/Set<Ljava/util/Map$Entry<TK;TV;>;>;

  java.util.Set<K> createKeySet();
    descriptor: ()Ljava/util/Set;
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.google.common.collect.Maps$FilteredEntryMap this
         0: .line 2893
            new com.google.common.collect.Maps$FilteredEntryMap$KeySet
            dup
            aload 0 /* this */
            invokespecial com.google.common.collect.Maps$FilteredEntryMap$KeySet.<init>:(Lcom/google/common/collect/Maps$FilteredEntryMap;)V
            areturn
        end local 0 // com.google.common.collect.Maps$FilteredEntryMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/Maps$FilteredEntryMap<TK;TV;>;
    Signature: ()Ljava/util/Set<TK;>;

  static <K, V> boolean removeAllKeys(java.util.Map<K, V>, com.google.common.base.Predicate<? super java.util.Map$Entry<K, V>>, java.util.Collection<?>);
    descriptor: (Ljava/util/Map;Lcom/google/common/base/Predicate;Ljava/util/Collection;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // java.util.Map map
        start local 1 // com.google.common.base.Predicate entryPredicate
        start local 2 // java.util.Collection keyCollection
         0: .line 2898
            aload 0 /* map */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* entryItr */
        start local 3 // java.util.Iterator entryItr
         1: .line 2899
            iconst_0
            istore 4 /* result */
        start local 4 // boolean result
         2: .line 2900
            goto 7
         3: .line 2901
      StackMap locals: java.util.Iterator int
      StackMap stack:
            aload 3 /* entryItr */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* entry */
        start local 5 // java.util.Map$Entry entry
         4: .line 2902
            aload 1 /* entryPredicate */
            aload 5 /* entry */
            invokeinterface com.google.common.base.Predicate.apply:(Ljava/lang/Object;)Z
            ifeq 7
            aload 2 /* keyCollection */
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.Collection.contains:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 2903
            aload 3 /* entryItr */
            invokeinterface java.util.Iterator.remove:()V
         6: .line 2904
            iconst_1
            istore 4 /* result */
        end local 5 // java.util.Map$Entry entry
         7: .line 2900
      StackMap locals:
      StackMap stack:
            aload 3 /* entryItr */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         8: .line 2907
            iload 4 /* result */
            ireturn
        end local 4 // boolean result
        end local 3 // java.util.Iterator entryItr
        end local 2 // java.util.Collection keyCollection
        end local 1 // com.google.common.base.Predicate entryPredicate
        end local 0 // java.util.Map map
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0             map  Ljava/util/Map<TK;TV;>;
            0    9     1  entryPredicate  Lcom/google/common/base/Predicate<-Ljava/util/Map$Entry<TK;TV;>;>;
            0    9     2   keyCollection  Ljava/util/Collection<*>;
            1    9     3        entryItr  Ljava/util/Iterator<Ljava/util/Map$Entry<TK;TV;>;>;
            2    9     4          result  Z
            4    7     5           entry  Ljava/util/Map$Entry<TK;TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/Map<TK;TV;>;Lcom/google/common/base/Predicate<-Ljava/util/Map$Entry<TK;TV;>;>;Ljava/util/Collection<*>;)Z
    MethodParameters:
                Name  Flags
      map             
      entryPredicate  
      keyCollection   

  static <K, V> boolean retainAllKeys(java.util.Map<K, V>, com.google.common.base.Predicate<? super java.util.Map$Entry<K, V>>, java.util.Collection<?>);
    descriptor: (Ljava/util/Map;Lcom/google/common/base/Predicate;Ljava/util/Collection;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // java.util.Map map
        start local 1 // com.google.common.base.Predicate entryPredicate
        start local 2 // java.util.Collection keyCollection
         0: .line 2912
            aload 0 /* map */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* entryItr */
        start local 3 // java.util.Iterator entryItr
         1: .line 2913
            iconst_0
            istore 4 /* result */
        start local 4 // boolean result
         2: .line 2914
            goto 7
         3: .line 2915
      StackMap locals: java.util.Iterator int
      StackMap stack:
            aload 3 /* entryItr */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* entry */
        start local 5 // java.util.Map$Entry entry
         4: .line 2916
            aload 1 /* entryPredicate */
            aload 5 /* entry */
            invokeinterface com.google.common.base.Predicate.apply:(Ljava/lang/Object;)Z
            ifeq 7
            aload 2 /* keyCollection */
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.Collection.contains:(Ljava/lang/Object;)Z
            ifne 7
         5: .line 2917
            aload 3 /* entryItr */
            invokeinterface java.util.Iterator.remove:()V
         6: .line 2918
            iconst_1
            istore 4 /* result */
        end local 5 // java.util.Map$Entry entry
         7: .line 2914
      StackMap locals:
      StackMap stack:
            aload 3 /* entryItr */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         8: .line 2921
            iload 4 /* result */
            ireturn
        end local 4 // boolean result
        end local 3 // java.util.Iterator entryItr
        end local 2 // java.util.Collection keyCollection
        end local 1 // com.google.common.base.Predicate entryPredicate
        end local 0 // java.util.Map map
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0             map  Ljava/util/Map<TK;TV;>;
            0    9     1  entryPredicate  Lcom/google/common/base/Predicate<-Ljava/util/Map$Entry<TK;TV;>;>;
            0    9     2   keyCollection  Ljava/util/Collection<*>;
            1    9     3        entryItr  Ljava/util/Iterator<Ljava/util/Map$Entry<TK;TV;>;>;
            2    9     4          result  Z
            4    7     5           entry  Ljava/util/Map$Entry<TK;TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/Map<TK;TV;>;Lcom/google/common/base/Predicate<-Ljava/util/Map$Entry<TK;TV;>;>;Ljava/util/Collection<*>;)Z
    MethodParameters:
                Name  Flags
      map             
      entryPredicate  
      keyCollection   
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Lcom/google/common/collect/Maps$AbstractFilteredMap<TK;TV;>;
SourceFile: "Maps.java"
NestHost: com.google.common.collect.Maps
InnerClasses:
  private abstract AbstractFilteredMap = com.google.common.collect.Maps$AbstractFilteredMap of com.google.common.collect.Maps
  FilteredEntryMap = com.google.common.collect.Maps$FilteredEntryMap of com.google.common.collect.Maps
  private EntrySet = com.google.common.collect.Maps$FilteredEntryMap$EntrySet of com.google.common.collect.Maps$FilteredEntryMap
  KeySet = com.google.common.collect.Maps$FilteredEntryMap$KeySet of com.google.common.collect.Maps$FilteredEntryMap
  public abstract Entry = java.util.Map$Entry of java.util.Map