public final class com.google.inject.ProvisionException extends java.lang.RuntimeException
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.google.inject.ProvisionException
  super_class: java.lang.RuntimeException
{
  private final com.google.common.collect.ImmutableSet<com.google.inject.spi.Message> messages;
    descriptor: Lcom/google/common/collect/ImmutableSet;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/google/common/collect/ImmutableSet<Lcom/google/inject/spi/Message;>;

  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public void <init>(java.lang.Iterable<com.google.inject.spi.Message>);
    descriptor: (Ljava/lang/Iterable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.inject.ProvisionException this
        start local 1 // java.lang.Iterable messages
         0: .line 39
            aload 0 /* this */
            invokespecial java.lang.RuntimeException.<init>:()V
         1: .line 40
            aload 0 /* this */
            aload 1 /* messages */
            invokestatic com.google.common.collect.ImmutableSet.copyOf:(Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableSet;
            putfield com.google.inject.ProvisionException.messages:Lcom/google/common/collect/ImmutableSet;
         2: .line 41
            aload 0 /* this */
            getfield com.google.inject.ProvisionException.messages:Lcom/google/common/collect/ImmutableSet;
            invokevirtual com.google.common.collect.ImmutableSet.isEmpty:()Z
            ifeq 3
            iconst_0
            goto 4
      StackMap locals: com.google.inject.ProvisionException java.lang.Iterable
      StackMap stack:
         3: iconst_1
      StackMap locals:
      StackMap stack: int
         4: invokestatic com.google.common.base.Preconditions.checkArgument:(Z)V
         5: .line 42
            aload 0 /* this */
            aload 0 /* this */
            getfield com.google.inject.ProvisionException.messages:Lcom/google/common/collect/ImmutableSet;
            invokestatic com.google.inject.internal.Messages.getOnlyCause:(Ljava/util/Collection;)Ljava/lang/Throwable;
            invokevirtual com.google.inject.ProvisionException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         6: .line 43
            return
        end local 1 // java.lang.Iterable messages
        end local 0 // com.google.inject.ProvisionException this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/google/inject/ProvisionException;
            0    7     1  messages  Ljava/lang/Iterable<Lcom/google/inject/spi/Message;>;
    Signature: (Ljava/lang/Iterable<Lcom/google/inject/spi/Message;>;)V
    MethodParameters:
          Name  Flags
      messages  

  public void <init>(java.lang.String, java.lang.Throwable);
    descriptor: (Ljava/lang/String;Ljava/lang/Throwable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.google.inject.ProvisionException this
        start local 1 // java.lang.String message
        start local 2 // java.lang.Throwable cause
         0: .line 46
            aload 0 /* this */
            aload 2 /* cause */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
         1: .line 47
            aload 0 /* this */
            new com.google.inject.spi.Message
            dup
            aload 1 /* message */
            aload 2 /* cause */
            invokespecial com.google.inject.spi.Message.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            invokestatic com.google.common.collect.ImmutableSet.of:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
            putfield com.google.inject.ProvisionException.messages:Lcom/google/common/collect/ImmutableSet;
         2: .line 48
            return
        end local 2 // java.lang.Throwable cause
        end local 1 // java.lang.String message
        end local 0 // com.google.inject.ProvisionException this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lcom/google/inject/ProvisionException;
            0    3     1  message  Ljava/lang/String;
            0    3     2    cause  Ljava/lang/Throwable;
    MethodParameters:
         Name  Flags
      message  
      cause    

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.google.inject.ProvisionException this
        start local 1 // java.lang.String message
         0: .line 50
            aload 0 /* this */
            invokespecial java.lang.RuntimeException.<init>:()V
         1: .line 51
            aload 0 /* this */
            new com.google.inject.spi.Message
            dup
            aload 1 /* message */
            invokespecial com.google.inject.spi.Message.<init>:(Ljava/lang/String;)V
            invokestatic com.google.common.collect.ImmutableSet.of:(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
            putfield com.google.inject.ProvisionException.messages:Lcom/google/common/collect/ImmutableSet;
         2: .line 52
            return
        end local 1 // java.lang.String message
        end local 0 // com.google.inject.ProvisionException this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lcom/google/inject/ProvisionException;
            0    3     1  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  public java.util.Collection<com.google.inject.spi.Message> getErrorMessages();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.inject.ProvisionException this
         0: .line 56
            aload 0 /* this */
            getfield com.google.inject.ProvisionException.messages:Lcom/google/common/collect/ImmutableSet;
            areturn
        end local 0 // com.google.inject.ProvisionException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/inject/ProvisionException;
    Signature: ()Ljava/util/Collection<Lcom/google/inject/spi/Message;>;

  public java.lang.String getMessage();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.inject.ProvisionException this
         0: .line 61
            ldc "Unable to provision, see the following errors"
            aload 0 /* this */
            getfield com.google.inject.ProvisionException.messages:Lcom/google/common/collect/ImmutableSet;
            invokestatic com.google.inject.internal.Messages.formatMessages:(Ljava/lang/String;Ljava/util/Collection;)Ljava/lang/String;
            areturn
        end local 0 // com.google.inject.ProvisionException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/inject/ProvisionException;
}
SourceFile: "ProvisionException.java"