public class io.dropwizard.configuration.SubstitutingSourceProvider implements io.dropwizard.configuration.ConfigurationSourceProvider
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.dropwizard.configuration.SubstitutingSourceProvider
  super_class: java.lang.Object
{
  private final io.dropwizard.configuration.ConfigurationSourceProvider delegate;
    descriptor: Lio/dropwizard/configuration/ConfigurationSourceProvider;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.commons.text.StrSubstitutor substitutor;
    descriptor: Lorg/apache/commons/text/StrSubstitutor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(io.dropwizard.configuration.ConfigurationSourceProvider, org.apache.commons.text.StrSubstitutor);
    descriptor: (Lio/dropwizard/configuration/ConfigurationSourceProvider;Lorg/apache/commons/text/StrSubstitutor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.dropwizard.configuration.SubstitutingSourceProvider this
        start local 1 // io.dropwizard.configuration.ConfigurationSourceProvider delegate
        start local 2 // org.apache.commons.text.StrSubstitutor substitutor
         0: .line 27
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 28
            aload 0 /* this */
            aload 1 /* delegate */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.dropwizard.configuration.ConfigurationSourceProvider
            putfield io.dropwizard.configuration.SubstitutingSourceProvider.delegate:Lio/dropwizard/configuration/ConfigurationSourceProvider;
         2: .line 29
            aload 0 /* this */
            aload 2 /* substitutor */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.commons.text.StrSubstitutor
            putfield io.dropwizard.configuration.SubstitutingSourceProvider.substitutor:Lorg/apache/commons/text/StrSubstitutor;
         3: .line 30
            return
        end local 2 // org.apache.commons.text.StrSubstitutor substitutor
        end local 1 // io.dropwizard.configuration.ConfigurationSourceProvider delegate
        end local 0 // io.dropwizard.configuration.SubstitutingSourceProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lio/dropwizard/configuration/SubstitutingSourceProvider;
            0    4     1     delegate  Lio/dropwizard/configuration/ConfigurationSourceProvider;
            0    4     2  substitutor  Lorg/apache/commons/text/StrSubstitutor;
    MethodParameters:
             Name  Flags
      delegate     
      substitutor  

  public java.io.InputStream open(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/io/InputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // io.dropwizard.configuration.SubstitutingSourceProvider this
        start local 1 // java.lang.String path
         0: .line 37
            aconst_null
            astore 2
            aconst_null
            astore 3
         1: aload 0 /* this */
            getfield io.dropwizard.configuration.SubstitutingSourceProvider.delegate:Lio/dropwizard/configuration/ConfigurationSourceProvider;
            aload 1 /* path */
            invokeinterface io.dropwizard.configuration.ConfigurationSourceProvider.open:(Ljava/lang/String;)Ljava/io/InputStream;
            astore 4 /* in */
        start local 4 // java.io.InputStream in
         2: .line 38
            new java.lang.String
            dup
            aload 4 /* in */
            invokestatic com.google.common.io.ByteStreams.toByteArray:(Ljava/io/InputStream;)[B
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
            astore 5 /* config */
        start local 5 // java.lang.String config
         3: .line 39
            aload 0 /* this */
            getfield io.dropwizard.configuration.SubstitutingSourceProvider.substitutor:Lorg/apache/commons/text/StrSubstitutor;
            aload 5 /* config */
            invokevirtual org.apache.commons.text.StrSubstitutor.replace:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* substituted */
        start local 6 // java.lang.String substituted
         4: .line 41
            new java.io.ByteArrayInputStream
            dup
            aload 6 /* substituted */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
         5: .line 42
            aload 4 /* in */
            ifnull 6
            aload 4 /* in */
            invokevirtual java.io.InputStream.close:()V
         6: .line 41
      StackMap locals: io.dropwizard.configuration.SubstitutingSourceProvider java.lang.String java.lang.Throwable java.lang.Throwable java.io.InputStream java.lang.String java.lang.String
      StackMap stack: java.io.ByteArrayInputStream
            areturn
        end local 6 // java.lang.String substituted
        end local 5 // java.lang.String config
      StackMap locals: io.dropwizard.configuration.SubstitutingSourceProvider java.lang.String java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack: java.lang.Throwable
         7: astore 2
         8: .line 42
            aload 4 /* in */
            ifnull 9
            aload 4 /* in */
            invokevirtual java.io.InputStream.close:()V
        end local 4 // java.io.InputStream in
      StackMap locals:
      StackMap stack:
         9: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 3
            aload 2
            ifnonnull 11
            aload 3
            astore 2
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 2
            aload 3
            if_acmpeq 12
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        12: aload 2
            athrow
        end local 1 // java.lang.String path
        end local 0 // io.dropwizard.configuration.SubstitutingSourceProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Lio/dropwizard/configuration/SubstitutingSourceProvider;
            0   13     1         path  Ljava/lang/String;
            2    9     4           in  Ljava/io/InputStream;
            3    7     5       config  Ljava/lang/String;
            4    7     6  substituted  Ljava/lang/String;
      Exception table:
        from    to  target  type
           2     5       7  any
           1     6      10  any
           7    10      10  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      path  
}
SourceFile: "SubstitutingSourceProvider.java"