public class com.android.internal.util.CollectionUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.android.internal.util.CollectionUtils
  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.android.internal.util.CollectionUtils this
         0: .line 42
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.android.internal.util.CollectionUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/internal/util/CollectionUtils;

  public static <T> java.util.List<T> filter(java.util.List<T>, java.util.function.Predicate<? super T>);
    descriptor: (Ljava/util/List;Ljava/util/function/Predicate;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // java.util.List list
        start local 1 // java.util.function.Predicate predicate
         0: .line 52
            aconst_null
            astore 2 /* result */
        start local 2 // java.util.ArrayList result
         1: .line 53
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 7
         3: .line 54
      StackMap locals: java.util.ArrayList int
      StackMap stack:
            aload 0 /* list */
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            astore 4 /* item */
        start local 4 // java.lang.Object item
         4: .line 55
            aload 1 /* predicate */
            aload 4 /* item */
            invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 56
            aload 2 /* result */
            aload 4 /* item */
            invokestatic com.android.internal.util.ArrayUtils.add:(Ljava/util/ArrayList;Ljava/lang/Object;)Ljava/util/ArrayList;
            astore 2 /* result */
        end local 4 // java.lang.Object item
         6: .line 53
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 0 /* list */
            invokestatic com.android.internal.util.CollectionUtils.size:(Ljava/util/Collection;)I
            if_icmplt 3
        end local 3 // int i
         8: .line 59
            aload 2 /* result */
            invokestatic com.android.internal.util.CollectionUtils.emptyIfNull:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 2 // java.util.ArrayList result
        end local 1 // java.util.function.Predicate predicate
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       list  Ljava/util/List<TT;>;
            0    9     1  predicate  Ljava/util/function/Predicate<-TT;>;
            1    9     2     result  Ljava/util/ArrayList<TT;>;
            2    8     3          i  I
            4    6     4       item  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<TT;>;Ljava/util/function/Predicate<-TT;>;)Ljava/util/List<TT;>;
    MethodParameters:
           Name  Flags
      list       
      predicate  

  public static <T> java.util.Set<T> filter(java.util.Set<T>, java.util.function.Predicate<? super T>);
    descriptor: (Ljava/util/Set;Ljava/util/function/Predicate;)Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // java.util.Set set
        start local 1 // java.util.function.Predicate predicate
         0: .line 67
            aload 0 /* set */
            ifnull 1
            aload 0 /* set */
            invokeinterface java.util.Set.size:()I
            ifne 2
      StackMap locals:
      StackMap stack:
         1: invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
         2: .line 68
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* result */
        start local 2 // android.util.ArraySet result
         3: .line 69
            aload 0 /* set */
            instanceof android.util.ArraySet
            ifeq 14
         4: .line 70
            aload 0 /* set */
            checkcast android.util.ArraySet
            astore 3 /* arraySet */
        start local 3 // android.util.ArraySet arraySet
         5: .line 71
            aload 3 /* arraySet */
            invokevirtual android.util.ArraySet.size:()I
            istore 4 /* size */
        start local 4 // int size
         6: .line 72
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         7: goto 12
         8: .line 73
      StackMap locals: java.util.Set java.util.function.Predicate android.util.ArraySet android.util.ArraySet int int
      StackMap stack:
            aload 3 /* arraySet */
            iload 5 /* i */
            invokevirtual android.util.ArraySet.valueAt:(I)Ljava/lang/Object;
            astore 6 /* item */
        start local 6 // java.lang.Object item
         9: .line 74
            aload 1 /* predicate */
            aload 6 /* item */
            invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 75
            aload 2 /* result */
            aload 6 /* item */
            invokestatic com.android.internal.util.ArrayUtils.add:(Landroid/util/ArraySet;Ljava/lang/Object;)Landroid/util/ArraySet;
            astore 2 /* result */
        end local 6 // java.lang.Object item
        11: .line 72
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 5 /* i */
            iload 4 /* size */
            if_icmplt 8
        end local 5 // int i
        end local 4 // int size
        end local 3 // android.util.ArraySet arraySet
        13: .line 78
            goto 19
        14: .line 79
      StackMap locals:
      StackMap stack:
            aload 0 /* set */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 18
      StackMap locals: java.util.Set java.util.function.Predicate android.util.ArraySet top java.util.Iterator
      StackMap stack:
        15: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 3 /* item */
        start local 3 // java.lang.Object item
        16: .line 80
            aload 1 /* predicate */
            aload 3 /* item */
            invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
            ifeq 18
        17: .line 81
            aload 2 /* result */
            aload 3 /* item */
            invokestatic com.android.internal.util.ArrayUtils.add:(Landroid/util/ArraySet;Ljava/lang/Object;)Landroid/util/ArraySet;
            astore 2 /* result */
        end local 3 // java.lang.Object item
        18: .line 79
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        19: .line 85
      StackMap locals: java.util.Set java.util.function.Predicate android.util.ArraySet
      StackMap stack:
            aload 2 /* result */
            invokestatic com.android.internal.util.CollectionUtils.emptyIfNull:(Ljava/util/Set;)Ljava/util/Set;
            areturn
        end local 2 // android.util.ArraySet result
        end local 1 // java.util.function.Predicate predicate
        end local 0 // java.util.Set set
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   20     0        set  Ljava/util/Set<TT;>;
            0   20     1  predicate  Ljava/util/function/Predicate<-TT;>;
            3   20     2     result  Landroid/util/ArraySet<TT;>;
            5   13     3   arraySet  Landroid/util/ArraySet<TT;>;
            6   13     4       size  I
            7   13     5          i  I
            9   11     6       item  TT;
           16   18     3       item  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Set<TT;>;Ljava/util/function/Predicate<-TT;>;)Ljava/util/Set<TT;>;
    MethodParameters:
           Name  Flags
      set        
      predicate  

  public static <T> void addIf(java.util.List<T>, java.util.Collection<? super T>, java.util.function.Predicate<? super T>);
    descriptor: (Ljava/util/List;Ljava/util/Collection;Ljava/util/function/Predicate;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // java.util.List source
        start local 1 // java.util.Collection dest
        start local 2 // java.util.function.Predicate predicate
         0: .line 91
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 6
         2: .line 92
      StackMap locals: int
      StackMap stack:
            aload 0 /* source */
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            astore 4 /* item */
        start local 4 // java.lang.Object item
         3: .line 93
            aload 2 /* predicate */
            aload 4 /* item */
            invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 94
            aload 1 /* dest */
            aload 4 /* item */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.Object item
         5: .line 91
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 0 /* source */
            invokestatic com.android.internal.util.CollectionUtils.size:(Ljava/util/Collection;)I
            if_icmplt 2
        end local 3 // int i
         7: .line 97
            return
        end local 2 // java.util.function.Predicate predicate
        end local 1 // java.util.Collection dest
        end local 0 // java.util.List source
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0     source  Ljava/util/List<TT;>;
            0    8     1       dest  Ljava/util/Collection<-TT;>;
            0    8     2  predicate  Ljava/util/function/Predicate<-TT;>;
            1    7     3          i  I
            3    5     4       item  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<TT;>;Ljava/util/Collection<-TT;>;Ljava/util/function/Predicate<-TT;>;)V
    MethodParameters:
           Name  Flags
      source     
      dest       
      predicate  

  public static <I, O> java.util.List<O> map(java.util.List<I>, java.util.function.Function<? super I, ? extends O>);
    descriptor: (Ljava/util/List;Ljava/util/function/Function;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.util.List cur
        start local 1 // java.util.function.Function f
         0: .line 110
            aload 0 /* cur */
            invokestatic com.android.internal.util.CollectionUtils.isEmpty:(Ljava/util/Collection;)Z
            ifeq 1
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
         1: .line 111
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* result */
        start local 2 // java.util.ArrayList result
         2: .line 112
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 113
      StackMap locals: java.util.ArrayList int
      StackMap stack:
            aload 2 /* result */
            aload 1 /* f */
            aload 0 /* cur */
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         5: .line 112
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 0 /* cur */
            invokeinterface java.util.List.size:()I
            if_icmplt 4
        end local 3 // int i
         7: .line 115
            aload 2 /* result */
            areturn
        end local 2 // java.util.ArrayList result
        end local 1 // java.util.function.Function f
        end local 0 // java.util.List cur
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0     cur  Ljava/util/List<TI;>;
            0    8     1       f  Ljava/util/function/Function<-TI;+TO;>;
            2    8     2  result  Ljava/util/ArrayList<TO;>;
            3    7     3       i  I
    Signature: <I:Ljava/lang/Object;O:Ljava/lang/Object;>(Ljava/util/List<TI;>;Ljava/util/function/Function<-TI;+TO;>;)Ljava/util/List<TO;>;
    MethodParameters:
      Name  Flags
      cur   
      f     

  public static <I, O> java.util.Set<O> map(java.util.Set<I>, java.util.function.Function<? super I, ? extends O>);
    descriptor: (Ljava/util/Set;Ljava/util/function/Function;)Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // java.util.Set cur
        start local 1 // java.util.function.Function f
         0: .line 123
            aload 0 /* cur */
            invokestatic com.android.internal.util.CollectionUtils.isEmpty:(Ljava/util/Collection;)Z
            ifeq 1
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
         1: .line 124
      StackMap locals:
      StackMap stack:
            new android.util.ArraySet
            dup
            invokespecial android.util.ArraySet.<init>:()V
            astore 2 /* result */
        start local 2 // android.util.ArraySet result
         2: .line 125
            aload 0 /* cur */
            instanceof android.util.ArraySet
            ifeq 11
         3: .line 126
            aload 0 /* cur */
            checkcast android.util.ArraySet
            astore 3 /* arraySet */
        start local 3 // android.util.ArraySet arraySet
         4: .line 127
            aload 3 /* arraySet */
            invokevirtual android.util.ArraySet.size:()I
            istore 4 /* size */
        start local 4 // int size
         5: .line 128
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 9
         7: .line 129
      StackMap locals: java.util.Set java.util.function.Function android.util.ArraySet android.util.ArraySet int int
      StackMap stack:
            aload 2 /* result */
            aload 1 /* f */
            aload 3 /* arraySet */
            iload 5 /* i */
            invokevirtual android.util.ArraySet.valueAt:(I)Ljava/lang/Object;
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual android.util.ArraySet.add:(Ljava/lang/Object;)Z
            pop
         8: .line 128
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 5 /* i */
            iload 4 /* size */
            if_icmplt 7
        end local 5 // int i
        end local 4 // int size
        end local 3 // android.util.ArraySet arraySet
        10: .line 131
            goto 15
        11: .line 132
      StackMap locals:
      StackMap stack:
            aload 0 /* cur */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 14
      StackMap locals: java.util.Set java.util.function.Function android.util.ArraySet top java.util.Iterator
      StackMap stack:
        12: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 3 /* item */
        start local 3 // java.lang.Object item
        13: .line 133
            aload 2 /* result */
            aload 1 /* f */
            aload 3 /* item */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual android.util.ArraySet.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.Object item
        14: .line 132
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        15: .line 136
      StackMap locals: java.util.Set java.util.function.Function android.util.ArraySet
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // android.util.ArraySet result
        end local 1 // java.util.function.Function f
        end local 0 // java.util.Set cur
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0       cur  Ljava/util/Set<TI;>;
            0   16     1         f  Ljava/util/function/Function<-TI;+TO;>;
            2   16     2    result  Landroid/util/ArraySet<TO;>;
            4   10     3  arraySet  Landroid/util/ArraySet<TI;>;
            5   10     4      size  I
            6   10     5         i  I
           13   14     3      item  TI;
    Signature: <I:Ljava/lang/Object;O:Ljava/lang/Object;>(Ljava/util/Set<TI;>;Ljava/util/function/Function<-TI;+TO;>;)Ljava/util/Set<TO;>;
    MethodParameters:
      Name  Flags
      cur   
      f     

  public static <I, O> java.util.List<O> mapNotNull(java.util.List<I>, java.util.function.Function<? super I, ? extends O>);
    descriptor: (Ljava/util/List;Ljava/util/function/Function;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.util.List cur
        start local 1 // java.util.function.Function f
         0: .line 152
            aload 0 /* cur */
            invokestatic com.android.internal.util.CollectionUtils.isEmpty:(Ljava/util/Collection;)Z
            ifeq 1
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
         1: .line 153
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* result */
        start local 2 // java.util.List result
         2: .line 154
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 8
         4: .line 155
      StackMap locals: java.util.List int
      StackMap stack:
            aload 1 /* f */
            aload 0 /* cur */
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* transformed */
        start local 4 // java.lang.Object transformed
         5: .line 156
            aload 4 /* transformed */
            ifnull 7
         6: .line 157
            aload 2 /* result */
            aload 4 /* transformed */
            invokestatic com.android.internal.util.CollectionUtils.add:(Ljava/util/List;Ljava/lang/Object;)Ljava/util/List;
            astore 2 /* result */
        end local 4 // java.lang.Object transformed
         7: .line 154
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 0 /* cur */
            invokeinterface java.util.List.size:()I
            if_icmplt 4
        end local 3 // int i
         9: .line 160
            aload 2 /* result */
            invokestatic com.android.internal.util.CollectionUtils.emptyIfNull:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 2 // java.util.List result
        end local 1 // java.util.function.Function f
        end local 0 // java.util.List cur
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0          cur  Ljava/util/List<TI;>;
            0   10     1            f  Ljava/util/function/Function<-TI;+TO;>;
            2   10     2       result  Ljava/util/List<TO;>;
            3    9     3            i  I
            5    7     4  transformed  TO;
    Signature: <I:Ljava/lang/Object;O:Ljava/lang/Object;>(Ljava/util/List<TI;>;Ljava/util/function/Function<-TI;+TO;>;)Ljava/util/List<TO;>;
    MethodParameters:
      Name  Flags
      cur   
      f     

  public static <T> java.util.List<T> emptyIfNull(java.util.List<T>);
    descriptor: (Ljava/util/List;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.List cur
         0: .line 171
            aload 0 /* cur */
            ifnonnull 1
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* cur */
      StackMap locals:
      StackMap stack: java.util.List
         2: areturn
        end local 0 // java.util.List cur
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   cur  Ljava/util/List<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<TT;>;)Ljava/util/List<TT;>;
    MethodParameters:
      Name  Flags
      cur   

  public static <T> java.util.Set<T> emptyIfNull(java.util.Set<T>);
    descriptor: (Ljava/util/Set;)Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.Set cur
         0: .line 182
            aload 0 /* cur */
            ifnonnull 1
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* cur */
      StackMap locals:
      StackMap stack: java.util.Set
         2: areturn
        end local 0 // java.util.Set cur
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   cur  Ljava/util/Set<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Set<TT;>;)Ljava/util/Set<TT;>;
    MethodParameters:
      Name  Flags
      cur   

  public static int size(java.util.Collection<?>);
    descriptor: (Ljava/util/Collection;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.Collection cur
         0: .line 189
            aload 0 /* cur */
            ifnull 1
            aload 0 /* cur */
            invokeinterface java.util.Collection.size:()I
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // java.util.Collection cur
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   cur  Ljava/util/Collection<*>;
    Signature: (Ljava/util/Collection<*>;)I
    MethodParameters:
      Name  Flags
      cur   

  public static boolean isEmpty(java.util.Collection<?>);
    descriptor: (Ljava/util/Collection;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.Collection cur
         0: .line 196
            aload 0 /* cur */
            invokestatic com.android.internal.util.CollectionUtils.size:(Ljava/util/Collection;)I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.util.Collection cur
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   cur  Ljava/util/Collection<*>;
    Signature: (Ljava/util/Collection<*>;)Z
    MethodParameters:
      Name  Flags
      cur   

  public static <T> java.util.List<T> filter(java.util.List<?>, java.lang.Class<T>);
    descriptor: (Ljava/util/List;Ljava/lang/Class;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // java.util.List list
        start local 1 // java.lang.Class c
         0: .line 203
            aload 0 /* list */
            invokestatic com.android.internal.util.CollectionUtils.isEmpty:(Ljava/util/Collection;)Z
            ifeq 1
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
         1: .line 204
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* result */
        start local 2 // java.util.ArrayList result
         2: .line 205
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 8
         4: .line 206
      StackMap locals: java.util.ArrayList int
      StackMap stack:
            aload 0 /* list */
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            astore 4 /* item */
        start local 4 // java.lang.Object item
         5: .line 207
            aload 1 /* c */
            aload 4 /* item */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 208
            aload 2 /* result */
            aload 4 /* item */
            invokestatic com.android.internal.util.ArrayUtils.add:(Ljava/util/ArrayList;Ljava/lang/Object;)Ljava/util/ArrayList;
            astore 2 /* result */
        end local 4 // java.lang.Object item
         7: .line 205
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 0 /* list */
            invokeinterface java.util.List.size:()I
            if_icmplt 4
        end local 3 // int i
         9: .line 211
            aload 2 /* result */
            invokestatic com.android.internal.util.CollectionUtils.emptyIfNull:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 2 // java.util.ArrayList result
        end local 1 // java.lang.Class c
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    list  Ljava/util/List<*>;
            0   10     1       c  Ljava/lang/Class<TT;>;
            2   10     2  result  Ljava/util/ArrayList<TT;>;
            3    9     3       i  I
            5    7     4    item  Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<*>;Ljava/lang/Class<TT;>;)Ljava/util/List<TT;>;
    MethodParameters:
      Name  Flags
      list  
      c     

  public static <T> boolean any(java.util.List<T>, java.util.function.Predicate<T>);
    descriptor: (Ljava/util/List;Ljava/util/function/Predicate;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.List items
        start local 1 // java.util.function.Predicate predicate
         0: .line 220
            aload 0 /* items */
            aload 1 /* predicate */
            invokestatic com.android.internal.util.CollectionUtils.find:(Ljava/util/List;Ljava/util/function/Predicate;)Ljava/lang/Object;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.util.function.Predicate predicate
        end local 0 // java.util.List items
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0      items  Ljava/util/List<TT;>;
            0    2     1  predicate  Ljava/util/function/Predicate<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<TT;>;Ljava/util/function/Predicate<TT;>;)Z
    MethodParameters:
           Name  Flags
      items      
      predicate  

  public static <T> T find(java.util.List<T>, java.util.function.Predicate<T>);
    descriptor: (Ljava/util/List;Ljava/util/function/Predicate;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.util.List items
        start local 1 // java.util.function.Predicate predicate
         0: .line 229
            aload 0 /* items */
            invokestatic com.android.internal.util.CollectionUtils.isEmpty:(Ljava/util/Collection;)Z
            ifeq 1
            aconst_null
            areturn
         1: .line 230
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 6
         3: .line 231
      StackMap locals: int
      StackMap stack:
            aload 0 /* items */
            iload 2 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            astore 3 /* item */
        start local 3 // java.lang.Object item
         4: .line 232
            aload 1 /* predicate */
            aload 3 /* item */
            invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
            ifeq 5
            aload 3 /* item */
            areturn
        end local 3 // java.lang.Object item
         5: .line 230
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* items */
            invokeinterface java.util.List.size:()I
            if_icmplt 3
        end local 2 // int i
         7: .line 234
            aconst_null
            areturn
        end local 1 // java.util.function.Predicate predicate
        end local 0 // java.util.List items
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0      items  Ljava/util/List<TT;>;
            0    8     1  predicate  Ljava/util/function/Predicate<TT;>;
            2    7     2          i  I
            4    5     3       item  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<TT;>;Ljava/util/function/Predicate<TT;>;)TT;
    MethodParameters:
           Name  Flags
      items      
      predicate  

  public static <T> java.util.List<T> add(java.util.List<T>, T);
    descriptor: (Ljava/util/List;Ljava/lang/Object;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.List cur
        start local 1 // java.lang.Object val
         0: .line 242
            aload 0 /* cur */
            ifnull 1
            aload 0 /* cur */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            if_acmpne 2
         1: .line 243
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 0 /* cur */
         2: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* cur */
            aload 1 /* val */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 246
            aload 0 /* cur */
            areturn
        end local 1 // java.lang.Object val
        end local 0 // java.util.List cur
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   cur  Ljava/util/List<TT;>;
            0    4     1   val  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<TT;>;TT;)Ljava/util/List<TT;>;
    MethodParameters:
      Name  Flags
      cur   
      val   

  public static <T> java.util.Set<T> add(java.util.Set<T>, T);
    descriptor: (Ljava/util/Set;Ljava/lang/Object;)Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.Set cur
        start local 1 // java.lang.Object val
         0: .line 253
            aload 0 /* cur */
            ifnull 1
            aload 0 /* cur */
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            if_acmpne 2
         1: .line 254
      StackMap locals:
      StackMap stack:
            new android.util.ArraySet
            dup
            invokespecial android.util.ArraySet.<init>:()V
            astore 0 /* cur */
         2: .line 256
      StackMap locals:
      StackMap stack:
            aload 0 /* cur */
            aload 1 /* val */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 257
            aload 0 /* cur */
            areturn
        end local 1 // java.lang.Object val
        end local 0 // java.util.Set cur
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   cur  Ljava/util/Set<TT;>;
            0    4     1   val  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Set<TT;>;TT;)Ljava/util/Set<TT;>;
    MethodParameters:
      Name  Flags
      cur   
      val   

  public static <T> java.util.List<T> remove(java.util.List<T>, T);
    descriptor: (Ljava/util/List;Ljava/lang/Object;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.List cur
        start local 1 // java.lang.Object val
         0: .line 265
            aload 0 /* cur */
            invokestatic com.android.internal.util.CollectionUtils.isEmpty:(Ljava/util/Collection;)Z
            ifeq 2
         1: .line 266
            aload 0 /* cur */
            invokestatic com.android.internal.util.CollectionUtils.emptyIfNull:(Ljava/util/List;)Ljava/util/List;
            areturn
         2: .line 268
      StackMap locals:
      StackMap stack:
            aload 0 /* cur */
            aload 1 /* val */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
         3: .line 269
            aload 0 /* cur */
            areturn
        end local 1 // java.lang.Object val
        end local 0 // java.util.List cur
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   cur  Ljava/util/List<TT;>;
            0    4     1   val  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<TT;>;TT;)Ljava/util/List<TT;>;
    MethodParameters:
      Name  Flags
      cur   
      val   

  public static <T> java.util.Set<T> remove(java.util.Set<T>, T);
    descriptor: (Ljava/util/Set;Ljava/lang/Object;)Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.Set cur
        start local 1 // java.lang.Object val
         0: .line 276
            aload 0 /* cur */
            invokestatic com.android.internal.util.CollectionUtils.isEmpty:(Ljava/util/Collection;)Z
            ifeq 2
         1: .line 277
            aload 0 /* cur */
            invokestatic com.android.internal.util.CollectionUtils.emptyIfNull:(Ljava/util/Set;)Ljava/util/Set;
            areturn
         2: .line 279
      StackMap locals:
      StackMap stack:
            aload 0 /* cur */
            aload 1 /* val */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
         3: .line 280
            aload 0 /* cur */
            areturn
        end local 1 // java.lang.Object val
        end local 0 // java.util.Set cur
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   cur  Ljava/util/Set<TT;>;
            0    4     1   val  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Set<TT;>;TT;)Ljava/util/Set<TT;>;
    MethodParameters:
      Name  Flags
      cur   
      val   

  public static <T> java.util.List<T> copyOf(java.util.List<T>);
    descriptor: (Ljava/util/List;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.List cur
         0: .line 287
            aload 0 /* cur */
            invokestatic com.android.internal.util.CollectionUtils.isEmpty:(Ljava/util/Collection;)Z
            ifeq 1
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            goto 2
      StackMap locals:
      StackMap stack:
         1: new java.util.ArrayList
            dup
            aload 0 /* cur */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
      StackMap locals:
      StackMap stack: java.util.List
         2: areturn
        end local 0 // java.util.List cur
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   cur  Ljava/util/List<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<TT;>;)Ljava/util/List<TT;>;
    MethodParameters:
      Name  Flags
      cur   

  public static <T> java.util.Set<T> copyOf(java.util.Set<T>);
    descriptor: (Ljava/util/Set;)Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Set cur
         0: .line 294
            aload 0 /* cur */
            invokestatic com.android.internal.util.CollectionUtils.isEmpty:(Ljava/util/Collection;)Z
            ifeq 1
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            goto 2
      StackMap locals:
      StackMap stack:
         1: new android.util.ArraySet
            dup
            aload 0 /* cur */
            invokespecial android.util.ArraySet.<init>:(Ljava/util/Collection;)V
      StackMap locals:
      StackMap stack: java.util.Set
         2: areturn
        end local 0 // java.util.Set cur
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   cur  Ljava/util/Set<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Set<TT;>;)Ljava/util/Set<TT;>;
    MethodParameters:
      Name  Flags
      cur   

  public static <T> void forEach(java.util.Set<T>, com.android.internal.util.FunctionalUtils$ThrowingConsumer<T>);
    descriptor: (Ljava/util/Set;Lcom/android/internal/util/FunctionalUtils$ThrowingConsumer;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.util.Set cur
        start local 1 // com.android.internal.util.FunctionalUtils$ThrowingConsumer action
         0: .line 303
            aload 0 /* cur */
            ifnull 1
            aload 1 /* action */
            ifnonnull 2
      StackMap locals:
      StackMap stack:
         1: return
         2: .line 304
      StackMap locals:
      StackMap stack:
            aload 0 /* cur */
            invokeinterface java.util.Set.size:()I
            istore 2 /* size */
        start local 2 // int size
         3: .line 305
            iload 2 /* size */
            ifne 4
            return
         4: .line 307
      StackMap locals: int
      StackMap stack:
            aload 0 /* cur */
            instanceof android.util.ArraySet
            ifeq 12
         5: .line 308
            aload 0 /* cur */
            checkcast android.util.ArraySet
            astore 3 /* arraySet */
        start local 3 // android.util.ArraySet arraySet
         6: .line 309
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: goto 10
         8: .line 310
      StackMap locals: android.util.ArraySet int
      StackMap stack:
            aload 1 /* action */
            aload 3 /* arraySet */
            iload 4 /* i */
            invokevirtual android.util.ArraySet.valueAt:(I)Ljava/lang/Object;
            invokeinterface com.android.internal.util.FunctionalUtils$ThrowingConsumer.acceptOrThrow:(Ljava/lang/Object;)V
         9: .line 309
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            iload 2 /* size */
            if_icmplt 8
        end local 4 // int i
        end local 3 // android.util.ArraySet arraySet
        11: .line 312
            goto 19
        12: .line 313
      StackMap locals:
      StackMap stack:
            aload 0 /* cur */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 15
      StackMap locals: java.util.Set com.android.internal.util.FunctionalUtils$ThrowingConsumer int top java.util.Iterator
      StackMap stack:
        13: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 3 /* t */
        start local 3 // java.lang.Object t
        14: .line 314
            aload 1 /* action */
            aload 3 /* t */
            invokeinterface com.android.internal.util.FunctionalUtils$ThrowingConsumer.acceptOrThrow:(Ljava/lang/Object;)V
        end local 3 // java.lang.Object t
        15: .line 313
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        16: .line 317
            goto 19
      StackMap locals: java.util.Set com.android.internal.util.FunctionalUtils$ThrowingConsumer int
      StackMap stack: java.lang.Exception
        17: astore 3 /* e */
        start local 3 // java.lang.Exception e
        18: .line 318
            aload 3 /* e */
            invokestatic android.util.ExceptionUtils.propagate:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 3 // java.lang.Exception e
        19: .line 320
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int size
        end local 1 // com.android.internal.util.FunctionalUtils$ThrowingConsumer action
        end local 0 // java.util.Set cur
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0       cur  Ljava/util/Set<TT;>;
            0   20     1    action  Lcom/android/internal/util/FunctionalUtils$ThrowingConsumer<TT;>;
            3   20     2      size  I
            6   11     3  arraySet  Landroid/util/ArraySet<TT;>;
            7   11     4         i  I
           14   15     3         t  TT;
           18   19     3         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           4    16      17  Class java.lang.Exception
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Set<TT;>;Lcom/android/internal/util/FunctionalUtils$ThrowingConsumer<TT;>;)V
    MethodParameters:
        Name  Flags
      cur     
      action  
}
SourceFile: "CollectionUtils.java"
InnerClasses:
  public abstract ThrowingConsumer = com.android.internal.util.FunctionalUtils$ThrowingConsumer of com.android.internal.util.FunctionalUtils