class com.google.common.base.Optional$1$1 extends com.google.common.base.AbstractIterator<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.google.common.base.Optional$1$1
  super_class: com.google.common.base.AbstractIterator
{
  private final java.util.Iterator<? extends com.google.common.base.Optional<? extends T>> iterator;
    descriptor: Ljava/util/Iterator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Iterator<+Lcom/google/common/base/Optional<+TT;>;>;

  final com.google.common.base.Optional$1 this$1;
    descriptor: Lcom/google/common/base/Optional$1;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(com.google.common.base.Optional$1, java.lang.Iterable);
    descriptor: (Lcom/google/common/base/Optional$1;Ljava/lang/Iterable;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.google.common.base.Optional$1$1 this
         0: .line 333
            aload 0 /* this */
            aload 1
            putfield com.google.common.base.Optional$1$1.this$1:Lcom/google/common/base/Optional$1;
            aload 0 /* this */
            invokespecial com.google.common.base.AbstractIterator.<init>:()V
         1: .line 334
            aload 0 /* this */
         2: .line 335
            aload 2
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Iterator
            putfield com.google.common.base.Optional$1$1.iterator:Ljava/util/Iterator;
         3: .line 333
            return
        end local 0 // com.google.common.base.Optional$1$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/google/common/base/Optional$1$1;
    MethodParameters:
               Name  Flags
      this$0         final
      val$optionals  final

  protected T computeNext();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // com.google.common.base.Optional$1$1 this
         0: .line 339
            goto 4
         1: .line 340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.base.Optional$1$1.iterator:Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.google.common.base.Optional
            astore 1 /* optional */
        start local 1 // com.google.common.base.Optional optional
         2: .line 341
            aload 1 /* optional */
            invokevirtual com.google.common.base.Optional.isPresent:()Z
            ifeq 4
         3: .line 342
            aload 1 /* optional */
            invokevirtual com.google.common.base.Optional.get:()Ljava/lang/Object;
            areturn
        end local 1 // com.google.common.base.Optional optional
         4: .line 339
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.google.common.base.Optional$1$1.iterator:Ljava/util/Iterator;
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 345
            aload 0 /* this */
            invokevirtual com.google.common.base.Optional$1$1.endOfData:()Ljava/lang/Object;
            areturn
        end local 0 // com.google.common.base.Optional$1$1 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lcom/google/common/base/Optional$1$1;
            2    4     1  optional  Lcom/google/common/base/Optional<+TT;>;
    Signature: ()TT;
}
Signature: Lcom/google/common/base/AbstractIterator<TT;>;
SourceFile: "Optional.java"
EnclosingMethod: com.google.common.base.Optional$1.iterator:()Ljava/util/Iterator;
NestHost: com.google.common.base.Optional
InnerClasses:
  com.google.common.base.Optional$1
  com.google.common.base.Optional$1$1