public class io.ebeaninternal.server.expression.Same
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.ebeaninternal.server.expression.Same
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.expression.Same this
         0: .line 10
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.ebeaninternal.server.expression.Same this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/expression/Same;

  public static boolean sameByNull(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object v1
        start local 1 // java.lang.Object v2
         0: .line 16
            aload 0 /* v1 */
            ifnonnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: aload 1 /* v2 */
            ifnonnull 3
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack: int
         3: iconst_0
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack: int int
         4: if_icmpne 5
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
        end local 1 // java.lang.Object v2
        end local 0 // java.lang.Object v1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0    v1  Ljava/lang/Object;
            0    6     1    v2  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      v1    
      v2    

  public static boolean sameByValue(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object v1
        start local 1 // java.lang.Object v2
         0: .line 23
            aload 0 /* v1 */
            aload 1 /* v2 */
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object v2
        end local 0 // java.lang.Object v1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    v1  Ljava/lang/Object;
            0    1     1    v2  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      v1    
      v2    

  public static boolean sameByValue(java.util.Collection<?>, java.util.Collection<?>);
    descriptor: (Ljava/util/Collection;Ljava/util/Collection;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.util.Collection v1
        start local 1 // java.util.Collection v2
         0: .line 30
            aload 0 /* v1 */
            ifnonnull 3
         1: .line 31
            aload 1 /* v2 */
            ifnonnull 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
         3: .line 33
      StackMap locals:
      StackMap stack:
            aload 1 /* v2 */
            ifnull 4
            aload 0 /* v1 */
            invokeinterface java.util.Collection.size:()I
            aload 1 /* v2 */
            invokeinterface java.util.Collection.size:()I
            if_icmpeq 5
         4: .line 34
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         5: .line 36
      StackMap locals:
      StackMap stack:
            aload 0 /* v1 */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2 /* thisIt */
        start local 2 // java.util.Iterator thisIt
         6: .line 37
            aload 1 /* v2 */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3 /* thatIt */
        start local 3 // java.util.Iterator thatIt
         7: .line 38
            goto 10
         8: .line 39
      StackMap locals: java.util.Iterator java.util.Iterator
      StackMap stack:
            aload 2 /* thisIt */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            aload 3 /* thatIt */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 10
         9: .line 40
            iconst_0
            ireturn
        10: .line 38
      StackMap locals:
      StackMap stack:
            aload 2 /* thisIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 11
            aload 3 /* thatIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        11: .line 43
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // java.util.Iterator thatIt
        end local 2 // java.util.Iterator thisIt
        end local 1 // java.util.Collection v2
        end local 0 // java.util.Collection v1
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0      v1  Ljava/util/Collection<*>;
            0   12     1      v2  Ljava/util/Collection<*>;
            6   12     2  thisIt  Ljava/util/Iterator<*>;
            7   12     3  thatIt  Ljava/util/Iterator<*>;
    Signature: (Ljava/util/Collection<*>;Ljava/util/Collection<*>;)Z
    MethodParameters:
      Name  Flags
      v1    
      v2    

  public static boolean sameBy(boolean, java.lang.Object, java.lang.Object);
    descriptor: (ZLjava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // boolean byValue
        start local 1 // java.lang.Object value
        start local 2 // java.lang.Object value1
         0: .line 51
            iload 0 /* byValue */
            ifeq 2
         1: .line 52
            aload 1 /* value */
            aload 2 /* value1 */
            invokestatic io.ebeaninternal.server.expression.Same.sameByValue:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ireturn
         2: .line 54
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            aload 2 /* value1 */
            invokestatic io.ebeaninternal.server.expression.Same.sameByNull:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ireturn
        end local 2 // java.lang.Object value1
        end local 1 // java.lang.Object value
        end local 0 // boolean byValue
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  byValue  Z
            0    3     1    value  Ljava/lang/Object;
            0    3     2   value1  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      byValue  
      value    
      value1   
}
SourceFile: "Same.java"