public abstract class com.google.common.io.CharSource
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.google.common.io.CharSource
  super_class: java.lang.Object
{
  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.io.CharSource this
         0: .line 75
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.google.common.io.CharSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/io/CharSource;

  public com.google.common.io.ByteSource asByteSource(java.nio.charset.Charset);
    descriptor: (Ljava/nio/charset/Charset;)Lcom/google/common/io/ByteSource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.google.common.io.CharSource this
        start local 1 // java.nio.charset.Charset charset
         0: .line 90
            new com.google.common.io.CharSource$AsByteSource
            dup
            aload 0 /* this */
            aload 1 /* charset */
            invokespecial com.google.common.io.CharSource$AsByteSource.<init>:(Lcom/google/common/io/CharSource;Ljava/nio/charset/Charset;)V
            areturn
        end local 1 // java.nio.charset.Charset charset
        end local 0 // com.google.common.io.CharSource this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/google/common/io/CharSource;
            0    1     1  charset  Ljava/nio/charset/Charset;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
         Name  Flags
      charset  

  public abstract java.io.Reader openStream();
    descriptor: ()Ljava/io/Reader;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException

  public java.io.BufferedReader openBufferedStream();
    descriptor: ()Ljava/io/BufferedReader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.google.common.io.CharSource this
         0: .line 112
            aload 0 /* this */
            invokevirtual com.google.common.io.CharSource.openStream:()Ljava/io/Reader;
            astore 1 /* reader */
        start local 1 // java.io.Reader reader
         1: .line 113
            aload 1 /* reader */
            instanceof java.io.BufferedReader
            ifeq 3
         2: .line 114
            aload 1 /* reader */
            checkcast java.io.BufferedReader
            goto 4
         3: .line 115
      StackMap locals: java.io.Reader
      StackMap stack:
            new java.io.BufferedReader
            dup
            aload 1 /* reader */
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
         4: .line 113
      StackMap locals:
      StackMap stack: java.io.BufferedReader
            areturn
        end local 1 // java.io.Reader reader
        end local 0 // com.google.common.io.CharSource this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lcom/google/common/io/CharSource;
            1    5     1  reader  Ljava/io/Reader;
    Exceptions:
      throws java.io.IOException

  public java.util.stream.Stream<java.lang.String> lines();
    descriptor: ()Ljava/util/stream/Stream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.google.common.io.CharSource this
         0: .line 147
            aload 0 /* this */
            invokevirtual com.google.common.io.CharSource.openBufferedStream:()Ljava/io/BufferedReader;
            astore 1 /* reader */
        start local 1 // java.io.BufferedReader reader
         1: .line 148
            aload 1 /* reader */
         2: .line 149
            invokevirtual java.io.BufferedReader.lines:()Ljava/util/stream/Stream;
         3: .line 151
            aload 1 /* reader */
            invokedynamic run(Ljava/io/BufferedReader;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  com/google/common/io/CharSource.lambda$0(Ljava/io/BufferedReader;)V (6)
                  ()V
         4: .line 150
            invokeinterface java.util.stream.Stream.onClose:(Ljava/lang/Runnable;)Ljava/util/stream/BaseStream;
            checkcast java.util.stream.Stream
         5: .line 148
            areturn
        end local 1 // java.io.BufferedReader reader
        end local 0 // com.google.common.io.CharSource this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lcom/google/common/io/CharSource;
            1    6     1  reader  Ljava/io/BufferedReader;
    Exceptions:
      throws java.io.IOException
    Signature: ()Ljava/util/stream/Stream<Ljava/lang/String;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
      com.google.errorprone.annotations.MustBeClosed()

  public com.google.common.base.Optional<java.lang.Long> lengthIfKnown();
    descriptor: ()Lcom/google/common/base/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.io.CharSource this
         0: .line 176
            invokestatic com.google.common.base.Optional.absent:()Lcom/google/common/base/Optional;
            areturn
        end local 0 // com.google.common.io.CharSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/io/CharSource;
    Signature: ()Lcom/google/common/base/Optional<Ljava/lang/Long;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()

  public long length();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // com.google.common.io.CharSource this
         0: .line 200
            aload 0 /* this */
            invokevirtual com.google.common.io.CharSource.lengthIfKnown:()Lcom/google/common/base/Optional;
            astore 1 /* lengthIfKnown */
        start local 1 // com.google.common.base.Optional lengthIfKnown
         1: .line 201
            aload 1 /* lengthIfKnown */
            invokevirtual com.google.common.base.Optional.isPresent:()Z
            ifeq 3
         2: .line 202
            aload 1 /* lengthIfKnown */
            invokevirtual com.google.common.base.Optional.get:()Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            lreturn
         3: .line 205
      StackMap locals: com.google.common.base.Optional
      StackMap stack:
            invokestatic com.google.common.io.Closer.create:()Lcom/google/common/io/Closer;
            astore 2 /* closer */
        start local 2 // com.google.common.io.Closer closer
         4: .line 207
            aload 2 /* closer */
            aload 0 /* this */
            invokevirtual com.google.common.io.CharSource.openStream:()Ljava/io/Reader;
            invokevirtual com.google.common.io.Closer.register:(Ljava/io/Closeable;)Ljava/io/Closeable;
            checkcast java.io.Reader
            astore 3 /* reader */
        start local 3 // java.io.Reader reader
         5: .line 208
            aload 0 /* this */
            aload 3 /* reader */
            invokevirtual com.google.common.io.CharSource.countBySkipping:(Ljava/io/Reader;)J
            lstore 5
         6: .line 212
            aload 2 /* closer */
            invokevirtual com.google.common.io.Closer.close:()V
         7: .line 208
            lload 5
            lreturn
        end local 3 // java.io.Reader reader
         8: .line 209
      StackMap locals: com.google.common.io.CharSource com.google.common.base.Optional com.google.common.io.Closer
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         9: .line 210
            aload 2 /* closer */
            aload 3 /* e */
            invokevirtual com.google.common.io.Closer.rethrow:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 3 // java.lang.Throwable e
        10: .line 211
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        11: .line 212
            aload 2 /* closer */
            invokevirtual com.google.common.io.Closer.close:()V
        12: .line 213
            aload 4
            athrow
        end local 2 // com.google.common.io.Closer closer
        end local 1 // com.google.common.base.Optional lengthIfKnown
        end local 0 // com.google.common.io.CharSource this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lcom/google/common/io/CharSource;
            1   13     1  lengthIfKnown  Lcom/google/common/base/Optional<Ljava/lang/Long;>;
            4   13     2         closer  Lcom/google/common/io/Closer;
            5    8     3         reader  Ljava/io/Reader;
            9   10     3              e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           4     6       8  Class java.lang.Throwable
           4     6      10  any
           8    10      10  any
    Exceptions:
      throws java.io.IOException
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()

  private long countBySkipping(java.io.Reader);
    descriptor: (Ljava/io/Reader;)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // com.google.common.io.CharSource this
        start local 1 // java.io.Reader reader
         0: .line 217
            lconst_0
            lstore 2 /* count */
        start local 2 // long count
         1: .line 219
            goto 3
        start local 4 // long read
         2: .line 220
      StackMap locals: long long
      StackMap stack:
            lload 2 /* count */
            lload 4 /* read */
            ladd
            lstore 2 /* count */
        end local 4 // long read
         3: .line 219
      StackMap locals:
      StackMap stack:
            aload 1 /* reader */
            ldc 9223372036854775807
            invokevirtual java.io.Reader.skip:(J)J
            dup2
            lstore 4 /* read */
        start local 4 // long read
         4: lconst_0
            lcmp
            ifne 2
         5: .line 222
            lload 2 /* count */
            lreturn
        end local 4 // long read
        end local 2 // long count
        end local 1 // java.io.Reader reader
        end local 0 // com.google.common.io.CharSource this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lcom/google/common/io/CharSource;
            0    6     1  reader  Ljava/io/Reader;
            1    6     2   count  J
            2    3     4    read  J
            4    6     4    read  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      reader  

  public long copyTo(java.lang.Appendable);
    descriptor: (Ljava/lang/Appendable;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // com.google.common.io.CharSource this
        start local 1 // java.lang.Appendable appendable
         0: .line 235
            aload 1 /* appendable */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 237
            invokestatic com.google.common.io.Closer.create:()Lcom/google/common/io/Closer;
            astore 2 /* closer */
        start local 2 // com.google.common.io.Closer closer
         2: .line 239
            aload 2 /* closer */
            aload 0 /* this */
            invokevirtual com.google.common.io.CharSource.openStream:()Ljava/io/Reader;
            invokevirtual com.google.common.io.Closer.register:(Ljava/io/Closeable;)Ljava/io/Closeable;
            checkcast java.io.Reader
            astore 3 /* reader */
        start local 3 // java.io.Reader reader
         3: .line 240
            aload 3 /* reader */
            aload 1 /* appendable */
            invokestatic com.google.common.io.CharStreams.copy:(Ljava/lang/Readable;Ljava/lang/Appendable;)J
            lstore 5
         4: .line 244
            aload 2 /* closer */
            invokevirtual com.google.common.io.Closer.close:()V
         5: .line 240
            lload 5
            lreturn
        end local 3 // java.io.Reader reader
         6: .line 241
      StackMap locals: com.google.common.io.CharSource java.lang.Appendable com.google.common.io.Closer
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         7: .line 242
            aload 2 /* closer */
            aload 3 /* e */
            invokevirtual com.google.common.io.Closer.rethrow:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 3 // java.lang.Throwable e
         8: .line 243
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
         9: .line 244
            aload 2 /* closer */
            invokevirtual com.google.common.io.Closer.close:()V
        10: .line 245
            aload 4
            athrow
        end local 2 // com.google.common.io.Closer closer
        end local 1 // java.lang.Appendable appendable
        end local 0 // com.google.common.io.CharSource this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lcom/google/common/io/CharSource;
            0   11     1  appendable  Ljava/lang/Appendable;
            2   11     2      closer  Lcom/google/common/io/Closer;
            3    6     3      reader  Ljava/io/Reader;
            7    8     3           e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     4       6  Class java.lang.Throwable
           2     4       8  any
           6     8       8  any
    Exceptions:
      throws java.io.IOException
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    MethodParameters:
            Name  Flags
      appendable  

  public long copyTo(com.google.common.io.CharSink);
    descriptor: (Lcom/google/common/io/CharSink;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=8, args_size=2
        start local 0 // com.google.common.io.CharSource this
        start local 1 // com.google.common.io.CharSink sink
         0: .line 257
            aload 1 /* sink */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 259
            invokestatic com.google.common.io.Closer.create:()Lcom/google/common/io/Closer;
            astore 2 /* closer */
        start local 2 // com.google.common.io.Closer closer
         2: .line 261
            aload 2 /* closer */
            aload 0 /* this */
            invokevirtual com.google.common.io.CharSource.openStream:()Ljava/io/Reader;
            invokevirtual com.google.common.io.Closer.register:(Ljava/io/Closeable;)Ljava/io/Closeable;
            checkcast java.io.Reader
            astore 3 /* reader */
        start local 3 // java.io.Reader reader
         3: .line 262
            aload 2 /* closer */
            aload 1 /* sink */
            invokevirtual com.google.common.io.CharSink.openStream:()Ljava/io/Writer;
            invokevirtual com.google.common.io.Closer.register:(Ljava/io/Closeable;)Ljava/io/Closeable;
            checkcast java.io.Writer
            astore 4 /* writer */
        start local 4 // java.io.Writer writer
         4: .line 263
            aload 3 /* reader */
            aload 4 /* writer */
            invokestatic com.google.common.io.CharStreams.copy:(Ljava/lang/Readable;Ljava/lang/Appendable;)J
            lstore 6
         5: .line 267
            aload 2 /* closer */
            invokevirtual com.google.common.io.Closer.close:()V
         6: .line 263
            lload 6
            lreturn
        end local 4 // java.io.Writer writer
        end local 3 // java.io.Reader reader
         7: .line 264
      StackMap locals: com.google.common.io.CharSource com.google.common.io.CharSink com.google.common.io.Closer
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         8: .line 265
            aload 2 /* closer */
            aload 3 /* e */
            invokevirtual com.google.common.io.Closer.rethrow:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 3 // java.lang.Throwable e
         9: .line 266
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        10: .line 267
            aload 2 /* closer */
            invokevirtual com.google.common.io.Closer.close:()V
        11: .line 268
            aload 5
            athrow
        end local 2 // com.google.common.io.Closer closer
        end local 1 // com.google.common.io.CharSink sink
        end local 0 // com.google.common.io.CharSource this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lcom/google/common/io/CharSource;
            0   12     1    sink  Lcom/google/common/io/CharSink;
            2   12     2  closer  Lcom/google/common/io/Closer;
            3    7     3  reader  Ljava/io/Reader;
            4    7     4  writer  Ljava/io/Writer;
            8    9     3       e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     5       7  Class java.lang.Throwable
           2     5       9  any
           7     9       9  any
    Exceptions:
      throws java.io.IOException
    RuntimeInvisibleAnnotations: 
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    MethodParameters:
      Name  Flags
      sink  

  public java.lang.String read();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // com.google.common.io.CharSource this
         0: .line 277
            invokestatic com.google.common.io.Closer.create:()Lcom/google/common/io/Closer;
            astore 1 /* closer */
        start local 1 // com.google.common.io.Closer closer
         1: .line 279
            aload 1 /* closer */
            aload 0 /* this */
            invokevirtual com.google.common.io.CharSource.openStream:()Ljava/io/Reader;
            invokevirtual com.google.common.io.Closer.register:(Ljava/io/Closeable;)Ljava/io/Closeable;
            checkcast java.io.Reader
            astore 2 /* reader */
        start local 2 // java.io.Reader reader
         2: .line 280
            aload 2 /* reader */
            invokestatic com.google.common.io.CharStreams.toString:(Ljava/lang/Readable;)Ljava/lang/String;
            astore 4
         3: .line 284
            aload 1 /* closer */
            invokevirtual com.google.common.io.Closer.close:()V
         4: .line 280
            aload 4
            areturn
        end local 2 // java.io.Reader reader
         5: .line 281
      StackMap locals: com.google.common.io.CharSource com.google.common.io.Closer
      StackMap stack: java.lang.Throwable
            astore 2 /* e */
        start local 2 // java.lang.Throwable e
         6: .line 282
            aload 1 /* closer */
            aload 2 /* e */
            invokevirtual com.google.common.io.Closer.rethrow:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 2 // java.lang.Throwable e
         7: .line 283
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3
         8: .line 284
            aload 1 /* closer */
            invokevirtual com.google.common.io.Closer.close:()V
         9: .line 285
            aload 3
            athrow
        end local 1 // com.google.common.io.Closer closer
        end local 0 // com.google.common.io.CharSource this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lcom/google/common/io/CharSource;
            1   10     1  closer  Lcom/google/common/io/Closer;
            2    5     2  reader  Ljava/io/Reader;
            6    7     2       e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     3       5  Class java.lang.Throwable
           1     3       7  any
           5     7       7  any
    Exceptions:
      throws java.io.IOException

  public java.lang.String readFirstLine();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // com.google.common.io.CharSource this
         0: .line 299
            invokestatic com.google.common.io.Closer.create:()Lcom/google/common/io/Closer;
            astore 1 /* closer */
        start local 1 // com.google.common.io.Closer closer
         1: .line 301
            aload 1 /* closer */
            aload 0 /* this */
            invokevirtual com.google.common.io.CharSource.openBufferedStream:()Ljava/io/BufferedReader;
            invokevirtual com.google.common.io.Closer.register:(Ljava/io/Closeable;)Ljava/io/Closeable;
            checkcast java.io.BufferedReader
            astore 2 /* reader */
        start local 2 // java.io.BufferedReader reader
         2: .line 302
            aload 2 /* reader */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 4
         3: .line 306
            aload 1 /* closer */
            invokevirtual com.google.common.io.Closer.close:()V
         4: .line 302
            aload 4
            areturn
        end local 2 // java.io.BufferedReader reader
         5: .line 303
      StackMap locals: com.google.common.io.CharSource com.google.common.io.Closer
      StackMap stack: java.lang.Throwable
            astore 2 /* e */
        start local 2 // java.lang.Throwable e
         6: .line 304
            aload 1 /* closer */
            aload 2 /* e */
            invokevirtual com.google.common.io.Closer.rethrow:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 2 // java.lang.Throwable e
         7: .line 305
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3
         8: .line 306
            aload 1 /* closer */
            invokevirtual com.google.common.io.Closer.close:()V
         9: .line 307
            aload 3
            athrow
        end local 1 // com.google.common.io.Closer closer
        end local 0 // com.google.common.io.CharSource this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lcom/google/common/io/CharSource;
            1   10     1  closer  Lcom/google/common/io/Closer;
            2    5     2  reader  Ljava/io/BufferedReader;
            6    7     2       e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     3       5  Class java.lang.Throwable
           1     3       7  any
           5     7       7  any
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        org.checkerframework.checker.nullness.qual.Nullable()

  public com.google.common.collect.ImmutableList<java.lang.String> readLines();
    descriptor: ()Lcom/google/common/collect/ImmutableList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // com.google.common.io.CharSource this
         0: .line 322
            invokestatic com.google.common.io.Closer.create:()Lcom/google/common/io/Closer;
            astore 1 /* closer */
        start local 1 // com.google.common.io.Closer closer
         1: .line 324
            aload 1 /* closer */
            aload 0 /* this */
            invokevirtual com.google.common.io.CharSource.openBufferedStream:()Ljava/io/BufferedReader;
            invokevirtual com.google.common.io.Closer.register:(Ljava/io/Closeable;)Ljava/io/Closeable;
            checkcast java.io.BufferedReader
            astore 2 /* reader */
        start local 2 // java.io.BufferedReader reader
         2: .line 325
            invokestatic com.google.common.collect.Lists.newArrayList:()Ljava/util/ArrayList;
            astore 3 /* result */
        start local 3 // java.util.List result
         3: .line 327
            goto 5
        start local 4 // java.lang.String line
         4: .line 328
      StackMap locals: com.google.common.io.CharSource com.google.common.io.Closer java.io.BufferedReader java.util.List java.lang.String
      StackMap stack:
            aload 3 /* result */
            aload 4 /* line */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String line
         5: .line 327
      StackMap locals:
      StackMap stack:
            aload 2 /* reader */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            dup
            astore 4 /* line */
        start local 4 // java.lang.String line
         6: ifnonnull 4
         7: .line 330
            aload 3 /* result */
            invokestatic com.google.common.collect.ImmutableList.copyOf:(Ljava/util/Collection;)Lcom/google/common/collect/ImmutableList;
            astore 6
         8: .line 334
            aload 1 /* closer */
            invokevirtual com.google.common.io.Closer.close:()V
         9: .line 330
            aload 6
            areturn
        end local 4 // java.lang.String line
        end local 3 // java.util.List result
        end local 2 // java.io.BufferedReader reader
        10: .line 331
      StackMap locals: com.google.common.io.CharSource com.google.common.io.Closer
      StackMap stack: java.lang.Throwable
            astore 2 /* e */
        start local 2 // java.lang.Throwable e
        11: .line 332
            aload 1 /* closer */
            aload 2 /* e */
            invokevirtual com.google.common.io.Closer.rethrow:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 2 // java.lang.Throwable e
        12: .line 333
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        13: .line 334
            aload 1 /* closer */
            invokevirtual com.google.common.io.Closer.close:()V
        14: .line 335
            aload 5
            athrow
        end local 1 // com.google.common.io.Closer closer
        end local 0 // com.google.common.io.CharSource this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lcom/google/common/io/CharSource;
            1   15     1  closer  Lcom/google/common/io/Closer;
            2   10     2  reader  Ljava/io/BufferedReader;
            3   10     3  result  Ljava/util/List<Ljava/lang/String;>;
            4    5     4    line  Ljava/lang/String;
            6   10     4    line  Ljava/lang/String;
           11   12     2       e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     8      10  Class java.lang.Throwable
           1     8      12  any
          10    12      12  any
    Exceptions:
      throws java.io.IOException
    Signature: ()Lcom/google/common/collect/ImmutableList<Ljava/lang/String;>;

  public <T> T readLines(com.google.common.io.LineProcessor<T>);
    descriptor: (Lcom/google/common/io/LineProcessor;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // com.google.common.io.CharSource this
        start local 1 // com.google.common.io.LineProcessor processor
         0: .line 355
            aload 1 /* processor */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 357
            invokestatic com.google.common.io.Closer.create:()Lcom/google/common/io/Closer;
            astore 2 /* closer */
        start local 2 // com.google.common.io.Closer closer
         2: .line 359
            aload 2 /* closer */
            aload 0 /* this */
            invokevirtual com.google.common.io.CharSource.openStream:()Ljava/io/Reader;
            invokevirtual com.google.common.io.Closer.register:(Ljava/io/Closeable;)Ljava/io/Closeable;
            checkcast java.io.Reader
            astore 3 /* reader */
        start local 3 // java.io.Reader reader
         3: .line 360
            aload 3 /* reader */
            aload 1 /* processor */
            invokestatic com.google.common.io.CharStreams.readLines:(Ljava/lang/Readable;Lcom/google/common/io/LineProcessor;)Ljava/lang/Object;
            astore 5
         4: .line 364
            aload 2 /* closer */
            invokevirtual com.google.common.io.Closer.close:()V
         5: .line 360
            aload 5
            areturn
        end local 3 // java.io.Reader reader
         6: .line 361
      StackMap locals: com.google.common.io.CharSource com.google.common.io.LineProcessor com.google.common.io.Closer
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         7: .line 362
            aload 2 /* closer */
            aload 3 /* e */
            invokevirtual com.google.common.io.Closer.rethrow:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 3 // java.lang.Throwable e
         8: .line 363
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
         9: .line 364
            aload 2 /* closer */
            invokevirtual com.google.common.io.Closer.close:()V
        10: .line 365
            aload 4
            athrow
        end local 2 // com.google.common.io.Closer closer
        end local 1 // com.google.common.io.LineProcessor processor
        end local 0 // com.google.common.io.CharSource this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lcom/google/common/io/CharSource;
            0   11     1  processor  Lcom/google/common/io/LineProcessor<TT;>;
            2   11     2     closer  Lcom/google/common/io/Closer;
            3    6     3     reader  Ljava/io/Reader;
            7    8     3          e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     4       6  Class java.lang.Throwable
           2     4       8  any
           6     8       8  any
    Exceptions:
      throws java.io.IOException
    Signature: <T:Ljava/lang/Object;>(Lcom/google/common/io/LineProcessor<TT;>;)TT;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
      com.google.errorprone.annotations.CanIgnoreReturnValue()
    MethodParameters:
           Name  Flags
      processor  

  public void forEachLine(java.util.function.Consumer<? super java.lang.String>);
    descriptor: (Ljava/util/function/Consumer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // com.google.common.io.CharSource this
        start local 1 // java.util.function.Consumer action
         0: .line 383
            aconst_null
            astore 2
            aconst_null
            astore 3
         1: aload 0 /* this */
            invokevirtual com.google.common.io.CharSource.lines:()Ljava/util/stream/Stream;
            astore 4 /* lines */
        start local 4 // java.util.stream.Stream lines
         2: .line 385
            aload 4 /* lines */
            aload 1 /* action */
            invokeinterface java.util.stream.Stream.forEachOrdered:(Ljava/util/function/Consumer;)V
         3: .line 386
            aload 4 /* lines */
            ifnull 11
            aload 4 /* lines */
            invokeinterface java.util.stream.Stream.close:()V
            goto 11
      StackMap locals: com.google.common.io.CharSource java.util.function.Consumer java.lang.Throwable java.lang.Throwable java.util.stream.Stream
      StackMap stack: java.lang.Throwable
         4: astore 2
            aload 4 /* lines */
            ifnull 5
            aload 4 /* lines */
            invokeinterface java.util.stream.Stream.close:()V
        end local 4 // java.util.stream.Stream lines
      StackMap locals:
      StackMap stack:
         5: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 3
            aload 2
            ifnonnull 7
            aload 3
            astore 2
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 2
            aload 3
            if_acmpeq 8
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         8: aload 2
            athrow
      StackMap locals: com.google.common.io.CharSource java.util.function.Consumer
      StackMap stack: java.io.UncheckedIOException
         9: astore 2 /* e */
        start local 2 // java.io.UncheckedIOException e
        10: .line 387
            aload 2 /* e */
            invokevirtual java.io.UncheckedIOException.getCause:()Ljava/io/IOException;
            athrow
        end local 2 // java.io.UncheckedIOException e
        11: .line 389
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.function.Consumer action
        end local 0 // com.google.common.io.CharSource this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lcom/google/common/io/CharSource;
            0   12     1  action  Ljava/util/function/Consumer<-Ljava/lang/String;>;
            2    5     4   lines  Ljava/util/stream/Stream<Ljava/lang/String;>;
           10   11     2       e  Ljava/io/UncheckedIOException;
      Exception table:
        from    to  target  type
           2     3       4  any
           1     6       6  any
           0     9       9  Class java.io.UncheckedIOException
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/function/Consumer<-Ljava/lang/String;>;)V
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
        Name  Flags
      action  

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // com.google.common.io.CharSource this
         0: .line 404
            aload 0 /* this */
            invokevirtual com.google.common.io.CharSource.lengthIfKnown:()Lcom/google/common/base/Optional;
            astore 1 /* lengthIfKnown */
        start local 1 // com.google.common.base.Optional lengthIfKnown
         1: .line 405
            aload 1 /* lengthIfKnown */
            invokevirtual com.google.common.base.Optional.isPresent:()Z
            ifeq 4
         2: .line 406
            aload 1 /* lengthIfKnown */
            invokevirtual com.google.common.base.Optional.get:()Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            lconst_0
            lcmp
            ifne 3
            iconst_1
            ireturn
      StackMap locals: com.google.common.base.Optional
      StackMap stack:
         3: iconst_0
            ireturn
         4: .line 408
      StackMap locals:
      StackMap stack:
            invokestatic com.google.common.io.Closer.create:()Lcom/google/common/io/Closer;
            astore 2 /* closer */
        start local 2 // com.google.common.io.Closer closer
         5: .line 410
            aload 2 /* closer */
            aload 0 /* this */
            invokevirtual com.google.common.io.CharSource.openStream:()Ljava/io/Reader;
            invokevirtual com.google.common.io.Closer.register:(Ljava/io/Closeable;)Ljava/io/Closeable;
            checkcast java.io.Reader
            astore 3 /* reader */
        start local 3 // java.io.Reader reader
         6: .line 411
            aload 3 /* reader */
            invokevirtual java.io.Reader.read:()I
            iconst_m1
            if_icmpne 7
            iconst_1
            goto 8
      StackMap locals: com.google.common.io.Closer java.io.Reader
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 5
         9: .line 415
            aload 2 /* closer */
            invokevirtual com.google.common.io.Closer.close:()V
        10: .line 411
            iload 5
            ireturn
        end local 3 // java.io.Reader reader
        11: .line 412
      StackMap locals: com.google.common.io.CharSource com.google.common.base.Optional com.google.common.io.Closer
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
        12: .line 413
            aload 2 /* closer */
            aload 3 /* e */
            invokevirtual com.google.common.io.Closer.rethrow:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 3 // java.lang.Throwable e
        13: .line 414
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        14: .line 415
            aload 2 /* closer */
            invokevirtual com.google.common.io.Closer.close:()V
        15: .line 416
            aload 4
            athrow
        end local 2 // com.google.common.io.Closer closer
        end local 1 // com.google.common.base.Optional lengthIfKnown
        end local 0 // com.google.common.io.CharSource this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0           this  Lcom/google/common/io/CharSource;
            1   16     1  lengthIfKnown  Lcom/google/common/base/Optional<Ljava/lang/Long;>;
            5   16     2         closer  Lcom/google/common/io/Closer;
            6   11     3         reader  Ljava/io/Reader;
           12   13     3              e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           5     9      11  Class java.lang.Throwable
           5     9      13  any
          11    13      13  any
    Exceptions:
      throws java.io.IOException

  public static com.google.common.io.CharSource concat(java.lang.Iterable<? extends com.google.common.io.CharSource>);
    descriptor: (Ljava/lang/Iterable;)Lcom/google/common/io/CharSource;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Iterable sources
         0: .line 431
            new com.google.common.io.CharSource$ConcatenatedCharSource
            dup
            aload 0 /* sources */
            invokespecial com.google.common.io.CharSource$ConcatenatedCharSource.<init>:(Ljava/lang/Iterable;)V
            areturn
        end local 0 // java.lang.Iterable sources
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  sources  Ljava/lang/Iterable<+Lcom/google/common/io/CharSource;>;
    Signature: (Ljava/lang/Iterable<+Lcom/google/common/io/CharSource;>;)Lcom/google/common/io/CharSource;
    MethodParameters:
         Name  Flags
      sources  

  public static com.google.common.io.CharSource concat(java.util.Iterator<? extends com.google.common.io.CharSource>);
    descriptor: (Ljava/util/Iterator;)Lcom/google/common/io/CharSource;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.Iterator sources
         0: .line 453
            aload 0 /* sources */
            invokestatic com.google.common.collect.ImmutableList.copyOf:(Ljava/util/Iterator;)Lcom/google/common/collect/ImmutableList;
            invokestatic com.google.common.io.CharSource.concat:(Ljava/lang/Iterable;)Lcom/google/common/io/CharSource;
            areturn
        end local 0 // java.util.Iterator sources
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  sources  Ljava/util/Iterator<+Lcom/google/common/io/CharSource;>;
    Signature: (Ljava/util/Iterator<+Lcom/google/common/io/CharSource;>;)Lcom/google/common/io/CharSource;
    MethodParameters:
         Name  Flags
      sources  

  public static com.google.common.io.CharSource concat(com.google.common.io.CharSource[]);
    descriptor: ([Lcom/google/common/io/CharSource;)Lcom/google/common/io/CharSource;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.io.CharSource[] sources
         0: .line 469
            aload 0 /* sources */
            invokestatic com.google.common.collect.ImmutableList.copyOf:([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
            invokestatic com.google.common.io.CharSource.concat:(Ljava/lang/Iterable;)Lcom/google/common/io/CharSource;
            areturn
        end local 0 // com.google.common.io.CharSource[] sources
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  sources  [Lcom/google/common/io/CharSource;
    MethodParameters:
         Name  Flags
      sources  

  public static com.google.common.io.CharSource wrap(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Lcom/google/common/io/CharSource;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.CharSequence charSequence
         0: .line 480
            aload 0 /* charSequence */
            instanceof java.lang.String
            ifeq 2
         1: .line 481
            new com.google.common.io.CharSource$StringCharSource
            dup
            aload 0 /* charSequence */
            checkcast java.lang.String
            invokespecial com.google.common.io.CharSource$StringCharSource.<init>:(Ljava/lang/String;)V
            goto 3
         2: .line 482
      StackMap locals:
      StackMap stack:
            new com.google.common.io.CharSource$CharSequenceCharSource
            dup
            aload 0 /* charSequence */
            invokespecial com.google.common.io.CharSource$CharSequenceCharSource.<init>:(Ljava/lang/CharSequence;)V
         3: .line 480
      StackMap locals:
      StackMap stack: com.google.common.io.CharSource$CharSequenceCharSource
            areturn
        end local 0 // java.lang.CharSequence charSequence
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0  charSequence  Ljava/lang/CharSequence;
    MethodParameters:
              Name  Flags
      charSequence  

  public static com.google.common.io.CharSource empty();
    descriptor: ()Lcom/google/common/io/CharSource;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 491
            getstatic com.google.common.io.CharSource$EmptyCharSource.INSTANCE:Lcom/google/common/io/CharSource$EmptyCharSource;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$0(java.io.BufferedReader);
    descriptor: (Ljava/io/BufferedReader;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=1
         0: .line 153
            aload 0
            invokevirtual java.io.BufferedReader.close:()V
         1: .line 154
            goto 4
      StackMap locals:
      StackMap stack: java.io.IOException
         2: astore 1 /* e */
        start local 1 // java.io.IOException e
         3: .line 155
            new java.io.UncheckedIOException
            dup
            aload 1 /* e */
            invokespecial java.io.UncheckedIOException.<init>:(Ljava/io/IOException;)V
            athrow
        end local 1 // java.io.IOException e
         4: .line 157
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            3    4     1     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
}
SourceFile: "CharSource.java"
NestMembers:
  com.google.common.io.CharSource$AsByteSource  com.google.common.io.CharSource$CharSequenceCharSource  com.google.common.io.CharSource$CharSequenceCharSource$1  com.google.common.io.CharSource$ConcatenatedCharSource  com.google.common.io.CharSource$EmptyCharSource  com.google.common.io.CharSource$StringCharSource
InnerClasses:
  private final AsByteSource = com.google.common.io.CharSource$AsByteSource of com.google.common.io.CharSource
  private CharSequenceCharSource = com.google.common.io.CharSource$CharSequenceCharSource of com.google.common.io.CharSource
  private final ConcatenatedCharSource = com.google.common.io.CharSource$ConcatenatedCharSource of com.google.common.io.CharSource
  private final EmptyCharSource = com.google.common.io.CharSource$EmptyCharSource of com.google.common.io.CharSource
  private StringCharSource = com.google.common.io.CharSource$StringCharSource of com.google.common.io.CharSource
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()