// 
// Decompiled by Procyon v0.6.0
// 

package com.hypixel.hytale.server.core.codec;

import com.hypixel.hytale.math.vector.Vector3d;
import com.hypixel.hytale.math.shape.OriginShape;
import com.hypixel.hytale.math.shape.Cylinder;
import com.hypixel.hytale.math.shape.Ellipsoid;
import com.hypixel.hytale.math.shape.Box;
import com.hypixel.hytale.codec.builder.BuilderCodec;
import com.hypixel.hytale.math.shape.Shape;
import com.hypixel.hytale.codec.lookup.CodecMapCodec;

public class ShapeCodecs
{
    public static final CodecMapCodec<Shape> SHAPE;
    public static final BuilderCodec<Box> BOX;
    public static final BuilderCodec<Ellipsoid> ELLIPSOID;
    public static final BuilderCodec<Cylinder> CYLINDER;
    public static final BuilderCodec<OriginShape<Shape>> ORIGIN_SHAPE;
    
    static {
        // 
        // This method could not be decompiled.
        // 
        // Original Bytecode:
        // 
        //     3: dup            
        //     4: invokespecial   com/hypixel/hytale/codec/lookup/CodecMapCodec.<init>:()V
        //     7: putstatic       com/hypixel/hytale/server/core/codec/ShapeCodecs.SHAPE:Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
        //    10: ldc             Lcom/hypixel/hytale/math/shape/Box;.class
        //    12: invokedynamic   BootstrapMethod #0, get:()Ljava/util/function/Supplier;
        //    17: invokestatic    com/hypixel/hytale/codec/builder/BuilderCodec.builder:(Ljava/lang/Class;Ljava/util/function/Supplier;)Lcom/hypixel/hytale/codec/builder/BuilderCodec$Builder;
        //    20: new             Lcom/hypixel/hytale/codec/KeyedCodec;
        //    23: dup            
        //    24: ldc             "Min"
        //    26: getstatic       com/hypixel/hytale/math/vector/Vector3d.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //    29: invokespecial   com/hypixel/hytale/codec/KeyedCodec.<init>:(Ljava/lang/String;Lcom/hypixel/hytale/codec/Codec;)V
        //    32: invokedynamic   BootstrapMethod #1, accept:()Ljava/util/function/BiConsumer;
        //    37: invokedynamic   BootstrapMethod #2, apply:()Ljava/util/function/Function;
        //    42: invokevirtual   com/hypixel/hytale/codec/builder/BuilderCodec$Builder.addField:(Lcom/hypixel/hytale/codec/KeyedCodec;Ljava/util/function/BiConsumer;Ljava/util/function/Function;)Lcom/hypixel/hytale/codec/builder/BuilderCodec$BuilderBase;
        //    45: checkcast       Lcom/hypixel/hytale/codec/builder/BuilderCodec$Builder;
        //    48: new             Lcom/hypixel/hytale/codec/KeyedCodec;
        //    51: dup            
        //    52: ldc             "Max"
        //    54: getstatic       com/hypixel/hytale/math/vector/Vector3d.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //    57: invokespecial   com/hypixel/hytale/codec/KeyedCodec.<init>:(Ljava/lang/String;Lcom/hypixel/hytale/codec/Codec;)V
        //    60: invokedynamic   BootstrapMethod #3, accept:()Ljava/util/function/BiConsumer;
        //    65: invokedynamic   BootstrapMethod #4, apply:()Ljava/util/function/Function;
        //    70: invokevirtual   com/hypixel/hytale/codec/builder/BuilderCodec$Builder.addField:(Lcom/hypixel/hytale/codec/KeyedCodec;Ljava/util/function/BiConsumer;Ljava/util/function/Function;)Lcom/hypixel/hytale/codec/builder/BuilderCodec$BuilderBase;
        //    73: checkcast       Lcom/hypixel/hytale/codec/builder/BuilderCodec$Builder;
        //    76: invokevirtual   com/hypixel/hytale/codec/builder/BuilderCodec$Builder.build:()Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //    79: putstatic       com/hypixel/hytale/server/core/codec/ShapeCodecs.BOX:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //    82: ldc             Lcom/hypixel/hytale/math/shape/Ellipsoid;.class
        //    84: invokedynamic   BootstrapMethod #5, get:()Ljava/util/function/Supplier;
        //    89: invokestatic    com/hypixel/hytale/codec/builder/BuilderCodec.builder:(Ljava/lang/Class;Ljava/util/function/Supplier;)Lcom/hypixel/hytale/codec/builder/BuilderCodec$Builder;
        //    92: new             Lcom/hypixel/hytale/codec/KeyedCodec;
        //    95: dup            
        //    96: ldc             "RadiusX"
        //    98: getstatic       com/hypixel/hytale/codec/Codec.DOUBLE:Lcom/hypixel/hytale/codec/codecs/simple/DoubleCodec;
        //   101: invokespecial   com/hypixel/hytale/codec/KeyedCodec.<init>:(Ljava/lang/String;Lcom/hypixel/hytale/codec/Codec;)V
        //   104: invokedynamic   BootstrapMethod #6, accept:()Ljava/util/function/BiConsumer;
        //   109: invokedynamic   BootstrapMethod #7, apply:()Ljava/util/function/Function;
        //   114: invokevirtual   com/hypixel/hytale/codec/builder/BuilderCodec$Builder.addField:(Lcom/hypixel/hytale/codec/KeyedCodec;Ljava/util/function/BiConsumer;Ljava/util/function/Function;)Lcom/hypixel/hytale/codec/builder/BuilderCodec$BuilderBase;
        //   117: checkcast       Lcom/hypixel/hytale/codec/builder/BuilderCodec$Builder;
        //   120: new             Lcom/hypixel/hytale/codec/KeyedCodec;
        //   123: dup            
        //   124: ldc             "RadiusY"
        //   126: getstatic       com/hypixel/hytale/codec/Codec.DOUBLE:Lcom/hypixel/hytale/codec/codecs/simple/DoubleCodec;
        //   129: invokespecial   com/hypixel/hytale/codec/KeyedCodec.<init>:(Ljava/lang/String;Lcom/hypixel/hytale/codec/Codec;)V
        //   132: invokedynamic   BootstrapMethod #8, accept:()Ljava/util/function/BiConsumer;
        //   137: invokedynamic   BootstrapMethod #9, apply:()Ljava/util/function/Function;
        //   142: invokevirtual   com/hypixel/hytale/codec/builder/BuilderCodec$Builder.addField:(Lcom/hypixel/hytale/codec/KeyedCodec;Ljava/util/function/BiConsumer;Ljava/util/function/Function;)Lcom/hypixel/hytale/codec/builder/BuilderCodec$BuilderBase;
        //   145: checkcast       Lcom/hypixel/hytale/codec/builder/BuilderCodec$Builder;
        //   148: new             Lcom/hypixel/hytale/codec/KeyedCodec;
        //   151: dup            
        //   152: ldc             "RadiusZ"
        //   154: getstatic       com/hypixel/hytale/codec/Codec.DOUBLE:Lcom/hypixel/hytale/codec/codecs/simple/DoubleCodec;
        //   157: invokespecial   com/hypixel/hytale/codec/KeyedCodec.<init>:(Ljava/lang/String;Lcom/hypixel/hytale/codec/Codec;)V
        //   160: invokedynamic   BootstrapMethod #10, accept:()Ljava/util/function/BiConsumer;
        //   165: invokedynamic   BootstrapMethod #11, apply:()Ljava/util/function/Function;
        //   170: invokevirtual   com/hypixel/hytale/codec/builder/BuilderCodec$Builder.addField:(Lcom/hypixel/hytale/codec/KeyedCodec;Ljava/util/function/BiConsumer;Ljava/util/function/Function;)Lcom/hypixel/hytale/codec/builder/BuilderCodec$BuilderBase;
        //   173: checkcast       Lcom/hypixel/hytale/codec/builder/BuilderCodec$Builder;
        //   176: new             Lcom/hypixel/hytale/codec/KeyedCodec;
        //   179: dup            
        //   180: ldc             "Radius"
        //   182: getstatic       com/hypixel/hytale/codec/Codec.DOUBLE:Lcom/hypixel/hytale/codec/codecs/simple/DoubleCodec;
        //   185: invokespecial   com/hypixel/hytale/codec/KeyedCodec.<init>:(Ljava/lang/String;Lcom/hypixel/hytale/codec/Codec;)V
        //   188: invokedynamic   BootstrapMethod #12, accept:()Ljava/util/function/BiConsumer;
        //   193: invokedynamic   BootstrapMethod #13, apply:()Ljava/util/function/Function;
        //   198: invokevirtual   com/hypixel/hytale/codec/builder/BuilderCodec$Builder.addField:(Lcom/hypixel/hytale/codec/KeyedCodec;Ljava/util/function/BiConsumer;Ljava/util/function/Function;)Lcom/hypixel/hytale/codec/builder/BuilderCodec$BuilderBase;
        //   201: checkcast       Lcom/hypixel/hytale/codec/builder/BuilderCodec$Builder;
        //   204: invokevirtual   com/hypixel/hytale/codec/builder/BuilderCodec$Builder.build:()Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   207: putstatic       com/hypixel/hytale/server/core/codec/ShapeCodecs.ELLIPSOID:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   210: ldc             Lcom/hypixel/hytale/math/shape/Cylinder;.class
        //   212: invokedynamic   BootstrapMethod #14, get:()Ljava/util/function/Supplier;
        //   217: invokestatic    com/hypixel/hytale/codec/builder/BuilderCodec.builder:(Ljava/lang/Class;Ljava/util/function/Supplier;)Lcom/hypixel/hytale/codec/builder/BuilderCodec$Builder;
        //   220: new             Lcom/hypixel/hytale/codec/KeyedCodec;
        //   223: dup            
        //   224: ldc             "Height"
        //   226: getstatic       com/hypixel/hytale/codec/Codec.DOUBLE:Lcom/hypixel/hytale/codec/codecs/simple/DoubleCodec;
        //   229: invokespecial   com/hypixel/hytale/codec/KeyedCodec.<init>:(Ljava/lang/String;Lcom/hypixel/hytale/codec/Codec;)V
        //   232: invokedynamic   BootstrapMethod #15, accept:()Ljava/util/function/BiConsumer;
        //   237: invokedynamic   BootstrapMethod #16, apply:()Ljava/util/function/Function;
        //   242: invokevirtual   com/hypixel/hytale/codec/builder/BuilderCodec$Builder.addField:(Lcom/hypixel/hytale/codec/KeyedCodec;Ljava/util/function/BiConsumer;Ljava/util/function/Function;)Lcom/hypixel/hytale/codec/builder/BuilderCodec$BuilderBase;
        //   245: checkcast       Lcom/hypixel/hytale/codec/builder/BuilderCodec$Builder;
        //   248: new             Lcom/hypixel/hytale/codec/KeyedCodec;
        //   251: dup            
        //   252: ldc             "RadiusX"
        //   254: getstatic       com/hypixel/hytale/codec/Codec.DOUBLE:Lcom/hypixel/hytale/codec/codecs/simple/DoubleCodec;
        //   257: invokespecial   com/hypixel/hytale/codec/KeyedCodec.<init>:(Ljava/lang/String;Lcom/hypixel/hytale/codec/Codec;)V
        //   260: invokedynamic   BootstrapMethod #17, accept:()Ljava/util/function/BiConsumer;
        //   265: invokedynamic   BootstrapMethod #18, apply:()Ljava/util/function/Function;
        //   270: invokevirtual   com/hypixel/hytale/codec/builder/BuilderCodec$Builder.addField:(Lcom/hypixel/hytale/codec/KeyedCodec;Ljava/util/function/BiConsumer;Ljava/util/function/Function;)Lcom/hypixel/hytale/codec/builder/BuilderCodec$BuilderBase;
        //   273: checkcast       Lcom/hypixel/hytale/codec/builder/BuilderCodec$Builder;
        //   276: new             Lcom/hypixel/hytale/codec/KeyedCodec;
        //   279: dup            
        //   280: ldc             "RadiusZ"
        //   282: getstatic       com/hypixel/hytale/codec/Codec.DOUBLE:Lcom/hypixel/hytale/codec/codecs/simple/DoubleCodec;
        //   285: invokespecial   com/hypixel/hytale/codec/KeyedCodec.<init>:(Ljava/lang/String;Lcom/hypixel/hytale/codec/Codec;)V
        //   288: invokedynamic   BootstrapMethod #19, accept:()Ljava/util/function/BiConsumer;
        //   293: invokedynamic   BootstrapMethod #20, apply:()Ljava/util/function/Function;
        //   298: invokevirtual   com/hypixel/hytale/codec/builder/BuilderCodec$Builder.addField:(Lcom/hypixel/hytale/codec/KeyedCodec;Ljava/util/function/BiConsumer;Ljava/util/function/Function;)Lcom/hypixel/hytale/codec/builder/BuilderCodec$BuilderBase;
        //   301: checkcast       Lcom/hypixel/hytale/codec/builder/BuilderCodec$Builder;
        //   304: new             Lcom/hypixel/hytale/codec/KeyedCodec;
        //   307: dup            
        //   308: ldc             "Radius"
        //   310: getstatic       com/hypixel/hytale/codec/Codec.DOUBLE:Lcom/hypixel/hytale/codec/codecs/simple/DoubleCodec;
        //   313: invokespecial   com/hypixel/hytale/codec/KeyedCodec.<init>:(Ljava/lang/String;Lcom/hypixel/hytale/codec/Codec;)V
        //   316: invokedynamic   BootstrapMethod #21, accept:()Ljava/util/function/BiConsumer;
        //   321: invokedynamic   BootstrapMethod #22, apply:()Ljava/util/function/Function;
        //   326: invokevirtual   com/hypixel/hytale/codec/builder/BuilderCodec$Builder.addField:(Lcom/hypixel/hytale/codec/KeyedCodec;Ljava/util/function/BiConsumer;Ljava/util/function/Function;)Lcom/hypixel/hytale/codec/builder/BuilderCodec$BuilderBase;
        //   329: checkcast       Lcom/hypixel/hytale/codec/builder/BuilderCodec$Builder;
        //   332: invokevirtual   com/hypixel/hytale/codec/builder/BuilderCodec$Builder.build:()Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   335: putstatic       com/hypixel/hytale/server/core/codec/ShapeCodecs.CYLINDER:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   338: ldc             Lcom/hypixel/hytale/math/shape/OriginShape;.class
        //   340: invokedynamic   BootstrapMethod #23, get:()Ljava/util/function/Supplier;
        //   345: invokestatic    com/hypixel/hytale/codec/builder/BuilderCodec.builder:(Ljava/lang/Class;Ljava/util/function/Supplier;)Lcom/hypixel/hytale/codec/builder/BuilderCodec$Builder;
        //   348: new             Lcom/hypixel/hytale/codec/KeyedCodec;
        //   351: dup            
        //   352: ldc             "Origin"
        //   354: getstatic       com/hypixel/hytale/math/vector/Vector3d.CODEC:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   357: invokespecial   com/hypixel/hytale/codec/KeyedCodec.<init>:(Ljava/lang/String;Lcom/hypixel/hytale/codec/Codec;)V
        //   360: invokedynamic   BootstrapMethod #24, accept:()Ljava/util/function/BiConsumer;
        //   365: invokedynamic   BootstrapMethod #25, apply:()Ljava/util/function/Function;
        //   370: invokevirtual   com/hypixel/hytale/codec/builder/BuilderCodec$Builder.addField:(Lcom/hypixel/hytale/codec/KeyedCodec;Ljava/util/function/BiConsumer;Ljava/util/function/Function;)Lcom/hypixel/hytale/codec/builder/BuilderCodec$BuilderBase;
        //   373: checkcast       Lcom/hypixel/hytale/codec/builder/BuilderCodec$Builder;
        //   376: new             Lcom/hypixel/hytale/codec/KeyedCodec;
        //   379: dup            
        //   380: ldc             "Shape"
        //   382: getstatic       com/hypixel/hytale/server/core/codec/ShapeCodecs.SHAPE:Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
        //   385: invokespecial   com/hypixel/hytale/codec/KeyedCodec.<init>:(Ljava/lang/String;Lcom/hypixel/hytale/codec/Codec;)V
        //   388: invokedynamic   BootstrapMethod #26, accept:()Ljava/util/function/BiConsumer;
        //   393: invokedynamic   BootstrapMethod #27, apply:()Ljava/util/function/Function;
        //   398: invokevirtual   com/hypixel/hytale/codec/builder/BuilderCodec$Builder.addField:(Lcom/hypixel/hytale/codec/KeyedCodec;Ljava/util/function/BiConsumer;Ljava/util/function/Function;)Lcom/hypixel/hytale/codec/builder/BuilderCodec$BuilderBase;
        //   401: checkcast       Lcom/hypixel/hytale/codec/builder/BuilderCodec$Builder;
        //   404: invokevirtual   com/hypixel/hytale/codec/builder/BuilderCodec$Builder.build:()Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   407: putstatic       com/hypixel/hytale/server/core/codec/ShapeCodecs.ORIGIN_SHAPE:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   410: getstatic       com/hypixel/hytale/server/core/codec/ShapeCodecs.SHAPE:Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
        //   413: ldc             "Box"
        //   415: ldc             Lcom/hypixel/hytale/math/shape/Box;.class
        //   417: getstatic       com/hypixel/hytale/server/core/codec/ShapeCodecs.BOX:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   420: invokevirtual   com/hypixel/hytale/codec/lookup/CodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/Codec;)Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
        //   423: pop            
        //   424: getstatic       com/hypixel/hytale/server/core/codec/ShapeCodecs.SHAPE:Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
        //   427: ldc             "Ellipsoid"
        //   429: ldc             Lcom/hypixel/hytale/math/shape/Ellipsoid;.class
        //   431: getstatic       com/hypixel/hytale/server/core/codec/ShapeCodecs.ELLIPSOID:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   434: invokevirtual   com/hypixel/hytale/codec/lookup/CodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/Codec;)Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
        //   437: pop            
        //   438: getstatic       com/hypixel/hytale/server/core/codec/ShapeCodecs.SHAPE:Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
        //   441: ldc             "Cylinder"
        //   443: ldc             Lcom/hypixel/hytale/math/shape/Cylinder;.class
        //   445: getstatic       com/hypixel/hytale/server/core/codec/ShapeCodecs.CYLINDER:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   448: invokevirtual   com/hypixel/hytale/codec/lookup/CodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/Codec;)Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
        //   451: pop            
        //   452: getstatic       com/hypixel/hytale/server/core/codec/ShapeCodecs.SHAPE:Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
        //   455: ldc             "OriginShape"
        //   457: ldc             Lcom/hypixel/hytale/math/shape/OriginShape;.class
        //   459: getstatic       com/hypixel/hytale/server/core/codec/ShapeCodecs.ORIGIN_SHAPE:Lcom/hypixel/hytale/codec/builder/BuilderCodec;
        //   462: invokevirtual   com/hypixel/hytale/codec/lookup/CodecMapCodec.register:(Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/Codec;)Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
        //   465: pop            
        //   466: return         
        // 
        // The error that occurred was:
        // 
        // java.lang.UnsupportedOperationException: The requested operation is not supported.
        //     at com.strobel.util.ContractUtils.unsupported(ContractUtils.java:27)
        //     at com.strobel.assembler.metadata.TypeReference.getRawType(TypeReference.java:284)
        //     at com.strobel.assembler.metadata.TypeReference.getRawType(TypeReference.java:279)
        //     at com.strobel.assembler.metadata.TypeReference.makeGenericType(TypeReference.java:154)
        //     at com.strobel.assembler.metadata.TypeSubstitutionVisitor.visitParameterizedType(TypeSubstitutionVisitor.java:225)
        //     at com.strobel.assembler.metadata.TypeSubstitutionVisitor.visitParameterizedType(TypeSubstitutionVisitor.java:25)
        //     at com.strobel.assembler.metadata.ParameterizedType.accept(ParameterizedType.java:103)
        //     at com.strobel.assembler.metadata.TypeSubstitutionVisitor.visit(TypeSubstitutionVisitor.java:40)
        //     at com.strobel.assembler.metadata.TypeSubstitutionVisitor.visitMethod(TypeSubstitutionVisitor.java:314)
        //     at com.strobel.decompiler.ast.TypeAnalysis.inferCall(TypeAnalysis.java:2611)
        //     at com.strobel.decompiler.ast.TypeAnalysis.doInferTypeForExpression(TypeAnalysis.java:1040)
        //     at com.strobel.decompiler.ast.TypeAnalysis.inferTypeForExpression(TypeAnalysis.java:815)
        //     at com.strobel.decompiler.ast.TypeAnalysis.inferTypeForExpression(TypeAnalysis.java:782)
        //     at com.strobel.decompiler.ast.TypeAnalysis.inferTypeForExpression(TypeAnalysis.java:778)
        //     at com.strobel.decompiler.ast.TypeAnalysis.doInferTypeForExpression(TypeAnalysis.java:1510)
        //     at com.strobel.decompiler.ast.TypeAnalysis.inferTypeForExpression(TypeAnalysis.java:815)
        //     at com.strobel.decompiler.ast.TypeAnalysis.inferTypeForExpression(TypeAnalysis.java:790)
        //     at com.strobel.decompiler.ast.TypeAnalysis.inferCall(TypeAnalysis.java:2689)
        //     at com.strobel.decompiler.ast.TypeAnalysis.doInferTypeForExpression(TypeAnalysis.java:1040)
        //     at com.strobel.decompiler.ast.TypeAnalysis.inferTypeForExpression(TypeAnalysis.java:815)
        //     at com.strobel.decompiler.ast.TypeAnalysis.inferTypeForExpression(TypeAnalysis.java:782)
        //     at com.strobel.decompiler.ast.TypeAnalysis.inferTypeForExpression(TypeAnalysis.java:778)
        //     at com.strobel.decompiler.ast.TypeAnalysis.doInferTypeForExpression(TypeAnalysis.java:1510)
        //     at com.strobel.decompiler.ast.TypeAnalysis.inferTypeForExpression(TypeAnalysis.java:815)
        //     at com.strobel.decompiler.ast.TypeAnalysis.inferTypeForExpression(TypeAnalysis.java:790)
        //     at com.strobel.decompiler.ast.TypeAnalysis.inferCall(TypeAnalysis.java:2689)
        //     at com.strobel.decompiler.ast.TypeAnalysis.doInferTypeForExpression(TypeAnalysis.java:1040)
        //     at com.strobel.decompiler.ast.TypeAnalysis.inferTypeForExpression(TypeAnalysis.java:815)
        //     at com.strobel.decompiler.ast.TypeAnalysis.inferTypeForExpression(TypeAnalysis.java:782)
        //     at com.strobel.decompiler.ast.TypeAnalysis.inferTypeForExpression(TypeAnalysis.java:778)
        //     at com.strobel.decompiler.ast.TypeAnalysis.doInferTypeForExpression(TypeAnalysis.java:1083)
        //     at com.strobel.decompiler.ast.TypeAnalysis.inferTypeForExpression(TypeAnalysis.java:815)
        //     at com.strobel.decompiler.ast.TypeAnalysis.runInference(TypeAnalysis.java:684)
        //     at com.strobel.decompiler.ast.TypeAnalysis.runInference(TypeAnalysis.java:667)
        //     at com.strobel.decompiler.ast.TypeAnalysis.runInference(TypeAnalysis.java:373)
        //     at com.strobel.decompiler.ast.TypeAnalysis.run(TypeAnalysis.java:95)
        //     at com.strobel.decompiler.ast.AstOptimizer.optimize(AstOptimizer.java:344)
        //     at com.strobel.decompiler.ast.AstOptimizer.optimize(AstOptimizer.java:42)
        //     at com.strobel.decompiler.languages.java.ast.AstMethodBodyBuilder.createMethodBody(AstMethodBodyBuilder.java:206)
        //     at com.strobel.decompiler.languages.java.ast.AstMethodBodyBuilder.createMethodBody(AstMethodBodyBuilder.java:93)
        //     at com.strobel.decompiler.languages.java.ast.AstBuilder.createMethodBody(AstBuilder.java:868)
        //     at com.strobel.decompiler.languages.java.ast.AstBuilder.createMethod(AstBuilder.java:761)
        //     at com.strobel.decompiler.languages.java.ast.AstBuilder.addTypeMembers(AstBuilder.java:638)
        //     at com.strobel.decompiler.languages.java.ast.AstBuilder.createTypeCore(AstBuilder.java:605)
        //     at com.strobel.decompiler.languages.java.ast.AstBuilder.createTypeNoCache(AstBuilder.java:195)
        //     at com.strobel.decompiler.languages.java.ast.AstBuilder.createType(AstBuilder.java:162)
        //     at com.strobel.decompiler.languages.java.ast.AstBuilder.addType(AstBuilder.java:137)
        //     at com.strobel.decompiler.languages.java.JavaLanguage.buildAst(JavaLanguage.java:71)
        //     at com.strobel.decompiler.languages.java.JavaLanguage.decompileType(JavaLanguage.java:59)
        //     at com.strobel.decompiler.DecompilerDriver.decompileType(DecompilerDriver.java:333)
        //     at com.strobel.decompiler.DecompilerDriver.decompileJar(DecompilerDriver.java:254)
        //     at com.strobel.decompiler.DecompilerDriver.main(DecompilerDriver.java:129)
        // 
        throw new IllegalStateException("An error occurred while decompiling this method.");
    }
}
