public class com.sun.jndi.toolkit.dir.ContainmentFilter implements com.sun.jndi.toolkit.dir.AttrFilter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.jndi.toolkit.dir.ContainmentFilter
  super_class: java.lang.Object
{
  private javax.naming.directory.Attributes matchingAttrs;
    descriptor: Ljavax/naming/directory/Attributes;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(javax.naming.directory.Attributes);
    descriptor: (Ljavax/naming/directory/Attributes;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.jndi.toolkit.dir.ContainmentFilter this
        start local 1 // javax.naming.directory.Attributes match
         0: .line 43
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 44
            aload 0 /* this */
            aload 1 /* match */
            putfield com.sun.jndi.toolkit.dir.ContainmentFilter.matchingAttrs:Ljavax/naming/directory/Attributes;
         2: .line 45
            return
        end local 1 // javax.naming.directory.Attributes match
        end local 0 // com.sun.jndi.toolkit.dir.ContainmentFilter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/sun/jndi/toolkit/dir/ContainmentFilter;
            0    3     1  match  Ljavax/naming/directory/Attributes;
    MethodParameters:
       Name  Flags
      match  

  public boolean check(javax.naming.directory.Attributes);
    descriptor: (Ljavax/naming/directory/Attributes;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.jndi.toolkit.dir.ContainmentFilter this
        start local 1 // javax.naming.directory.Attributes attrs
         0: .line 48
            aload 0 /* this */
            getfield com.sun.jndi.toolkit.dir.ContainmentFilter.matchingAttrs:Ljavax/naming/directory/Attributes;
            ifnull 4
         1: .line 49
            aload 0 /* this */
            getfield com.sun.jndi.toolkit.dir.ContainmentFilter.matchingAttrs:Ljavax/naming/directory/Attributes;
            invokeinterface javax.naming.directory.Attributes.size:()I
            ifeq 4
         2: .line 50
            aload 1 /* attrs */
            aload 0 /* this */
            getfield com.sun.jndi.toolkit.dir.ContainmentFilter.matchingAttrs:Ljavax/naming/directory/Attributes;
            invokestatic com.sun.jndi.toolkit.dir.ContainmentFilter.contains:(Ljavax/naming/directory/Attributes;Ljavax/naming/directory/Attributes;)Z
            ifne 4
         3: .line 48
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_1
            ireturn
        end local 1 // javax.naming.directory.Attributes attrs
        end local 0 // com.sun.jndi.toolkit.dir.ContainmentFilter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/sun/jndi/toolkit/dir/ContainmentFilter;
            0    5     1  attrs  Ljavax/naming/directory/Attributes;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
       Name  Flags
      attrs  

  public static boolean contains(javax.naming.directory.Attributes, javax.naming.directory.Attributes);
    descriptor: (Ljavax/naming/directory/Attributes;Ljavax/naming/directory/Attributes;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // javax.naming.directory.Attributes superset
        start local 1 // javax.naming.directory.Attributes subset
         0: .line 56
            aload 1 /* subset */
            ifnonnull 2
         1: .line 57
            iconst_1
            ireturn
         2: .line 59
      StackMap locals:
      StackMap stack:
            aload 1 /* subset */
            invokeinterface javax.naming.directory.Attributes.getAll:()Ljavax/naming/NamingEnumeration;
            astore 2 /* m */
        start local 2 // javax.naming.NamingEnumeration m
         3: .line 60
            goto 16
         4: .line 61
      StackMap locals: javax.naming.NamingEnumeration
      StackMap stack:
            aload 0 /* superset */
            ifnonnull 6
         5: .line 62
            iconst_0
            ireturn
         6: .line 64
      StackMap locals:
      StackMap stack:
            aload 2 /* m */
            invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
            checkcast javax.naming.directory.Attribute
            astore 3 /* target */
        start local 3 // javax.naming.directory.Attribute target
         7: .line 65
            aload 0 /* superset */
            aload 3 /* target */
            invokeinterface javax.naming.directory.Attribute.getID:()Ljava/lang/String;
            invokeinterface javax.naming.directory.Attributes.get:(Ljava/lang/String;)Ljavax/naming/directory/Attribute;
            astore 4 /* fromSuper */
        start local 4 // javax.naming.directory.Attribute fromSuper
         8: .line 66
            aload 4 /* fromSuper */
            ifnonnull 10
         9: .line 67
            iconst_0
            ireturn
        10: .line 70
      StackMap locals: javax.naming.directory.Attribute javax.naming.directory.Attribute
      StackMap stack:
            aload 3 /* target */
            invokeinterface javax.naming.directory.Attribute.size:()I
            ifle 16
        11: .line 71
            aload 3 /* target */
            invokeinterface javax.naming.directory.Attribute.getAll:()Ljavax/naming/NamingEnumeration;
            astore 5 /* vals */
        start local 5 // javax.naming.NamingEnumeration vals
        12: .line 72
            goto 15
        13: .line 73
      StackMap locals: javax.naming.NamingEnumeration
      StackMap stack:
            aload 4 /* fromSuper */
            aload 5 /* vals */
            invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
            invokeinterface javax.naming.directory.Attribute.contains:(Ljava/lang/Object;)Z
            ifne 15
        14: .line 74
            iconst_0
            ireturn
        15: .line 72
      StackMap locals:
      StackMap stack:
            aload 5 /* vals */
            invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
            ifne 13
        end local 5 // javax.naming.NamingEnumeration vals
        end local 4 // javax.naming.directory.Attribute fromSuper
        end local 3 // javax.naming.directory.Attribute target
        16: .line 60
      StackMap locals:
      StackMap stack:
            aload 2 /* m */
            invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
            ifne 4
        17: .line 80
            iconst_1
            ireturn
        end local 2 // javax.naming.NamingEnumeration m
        end local 1 // javax.naming.directory.Attributes subset
        end local 0 // javax.naming.directory.Attributes superset
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0   superset  Ljavax/naming/directory/Attributes;
            0   18     1     subset  Ljavax/naming/directory/Attributes;
            3   18     2          m  Ljavax/naming/NamingEnumeration<+Ljavax/naming/directory/Attribute;>;
            7   16     3     target  Ljavax/naming/directory/Attribute;
            8   16     4  fromSuper  Ljavax/naming/directory/Attribute;
           12   16     5       vals  Ljavax/naming/NamingEnumeration<*>;
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
          Name  Flags
      superset  
      subset    
}
SourceFile: "ContainmentFilter.java"