+- CompilationUnit[@PackageName = ""]
   +- ClassDeclaration[@Abstract = false, @Annotation = false, @Anonymous = false, @BinaryName = "Jep455_PrimitiveTypesInPatternsInstanceofAndSwitch", @CanonicalName = "Jep455_PrimitiveTypesInPatternsInstanceofAndSwitch", @EffectiveVisibility = Visibility.V_PUBLIC, @Enum = false, @Final = false, @Interface = false, @Local = false, @Nested = false, @PackageName = "", @Record = false, @RegularClass = true, @RegularInterface = false, @SimpleName = "Jep455_PrimitiveTypesInPatternsInstanceofAndSwitch", @Static = false, @TopLevel = true, @UnnamedToplevelClass = false, @Visibility = Visibility.V_PUBLIC]
      +- ModifierList[@EffectiveModifiers = (JModifier.PUBLIC), @ExplicitModifiers = (JModifier.PUBLIC)]
      +- ClassBody[@Empty = false, @Size = 5]
         +- MethodDeclaration[@Abstract = false, @Arity = 0, @EffectiveVisibility = Visibility.V_PUBLIC, @Final = false, @Name = "instanceofWithPrimitiveTypes", @Overridden = false, @Static = true, @Varargs = false, @Visibility = Visibility.V_PUBLIC, @Void = true]
         |  +- ModifierList[@EffectiveModifiers = (JModifier.PUBLIC, JModifier.STATIC), @ExplicitModifiers = (JModifier.PUBLIC, JModifier.STATIC)]
         |  +- VoidType[]
         |  +- FormalParameters[@Empty = true, @Size = 0]
         |  +- Block[@Empty = false, @Size = 26, @containsComment = true]
         |     +- LocalVariableDeclaration[@EffectiveVisibility = Visibility.V_LOCAL, @Final = false, @TypeInferred = false, @Visibility = Visibility.V_LOCAL]
         |     |  +- ModifierList[@EffectiveModifiers = (), @ExplicitModifiers = ()]
         |     |  +- PrimitiveType[@Kind = PrimitiveTypeKind.BYTE]
         |     |  +- VariableDeclarator[@Initializer = true, @Name = "b"]
         |     |     +- VariableId[@ArrayType = false, @EffectiveVisibility = Visibility.V_LOCAL, @EnumConstant = false, @ExceptionBlockParameter = false, @Field = false, @Final = false, @ForLoopVariable = false, @ForeachVariable = false, @FormalParameter = false, @LambdaParameter = false, @LocalVariable = true, @Name = "b", @PatternBinding = false, @RecordComponent = false, @ResourceDeclaration = false, @Static = false, @TypeInferred = false, @Unnamed = false, @Visibility = Visibility.V_LOCAL]
         |     |     +- NumericLiteral[@Base = 10, @CompileTimeConstant = true, @DoubleLiteral = false, @FloatLiteral = false, @Image = "42", @IntLiteral = true, @Integral = true, @LiteralText = "42", @LongLiteral = false, @ParenthesisDepth = 0, @Parenthesized = false, @ValueAsDouble = 42.0, @ValueAsFloat = 42.0, @ValueAsInt = 42, @ValueAsLong = 42]
         |     +- IfStatement[@Else = false]
         |     |  +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.INSTANCEOF, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |  |  +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "b", @Name = "b", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |  |  +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |  |     +- PrimitiveType[@Kind = PrimitiveTypeKind.INT]
         |     |  +- Block[@Empty = false, @Size = 1, @containsComment = false]
         |     |     +- ExpressionStatement[]
         |     |        +- MethodCall[@CompileTimeConstant = false, @Image = "println", @MethodName = "println", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |           +- FieldAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "out", @Name = "out", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |           |  +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |           |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "System"]
         |     |           +- ArgumentList[@Empty = false, @Size = 1]
         |     |              +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.ADD, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |                 +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.ADD, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |                 |  +- StringLiteral[@CompileTimeConstant = true, @ConstValue = "b = ", @Empty = false, @Image = "\"b = \"", @Length = 4, @LiteralText = "\"b = \"", @ParenthesisDepth = 0, @Parenthesized = false, @TextBlock = false]
         |     |                 |  +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "b", @Name = "b", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |                 +- StringLiteral[@CompileTimeConstant = true, @ConstValue = " is an int", @Empty = false, @Image = "\" is an int\"", @Length = 10, @LiteralText = "\" is an int\"", @ParenthesisDepth = 0, @Parenthesized = false, @TextBlock = false]
         |     +- LocalVariableDeclaration[@EffectiveVisibility = Visibility.V_LOCAL, @Final = false, @TypeInferred = false, @Visibility = Visibility.V_LOCAL]
         |     |  +- ModifierList[@EffectiveModifiers = (), @ExplicitModifiers = ()]
         |     |  +- PrimitiveType[@Kind = PrimitiveTypeKind.INT]
         |     |  +- VariableDeclarator[@Initializer = true, @Name = "i"]
         |     |     +- VariableId[@ArrayType = false, @EffectiveVisibility = Visibility.V_LOCAL, @EnumConstant = false, @ExceptionBlockParameter = false, @Field = false, @Final = false, @ForLoopVariable = false, @ForeachVariable = false, @FormalParameter = false, @LambdaParameter = false, @LocalVariable = true, @Name = "i", @PatternBinding = false, @RecordComponent = false, @ResourceDeclaration = false, @Static = false, @TypeInferred = false, @Unnamed = false, @Visibility = Visibility.V_LOCAL]
         |     |     +- NumericLiteral[@Base = 10, @CompileTimeConstant = true, @DoubleLiteral = false, @FloatLiteral = false, @Image = "42", @IntLiteral = true, @Integral = true, @LiteralText = "42", @LongLiteral = false, @ParenthesisDepth = 0, @Parenthesized = false, @ValueAsDouble = 42.0, @ValueAsFloat = 42.0, @ValueAsInt = 42, @ValueAsLong = 42]
         |     +- IfStatement[@Else = false]
         |     |  +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.INSTANCEOF, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |  |  +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "i", @Name = "i", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |  |  +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |  |     +- PrimitiveType[@Kind = PrimitiveTypeKind.BYTE]
         |     |  +- Block[@Empty = false, @Size = 1, @containsComment = false]
         |     |     +- ExpressionStatement[]
         |     |        +- MethodCall[@CompileTimeConstant = false, @Image = "println", @MethodName = "println", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |           +- FieldAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "out", @Name = "out", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |           |  +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |           |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "System"]
         |     |           +- ArgumentList[@Empty = false, @Size = 1]
         |     |              +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.ADD, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |                 +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.ADD, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |                 |  +- StringLiteral[@CompileTimeConstant = true, @ConstValue = "i = ", @Empty = false, @Image = "\"i = \"", @Length = 4, @LiteralText = "\"i = \"", @ParenthesisDepth = 0, @Parenthesized = false, @TextBlock = false]
         |     |                 |  +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "i", @Name = "i", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |                 +- StringLiteral[@CompileTimeConstant = true, @ConstValue = " can be converted to byte", @Empty = false, @Image = "\" can be converted to byte\"", @Length = 25, @LiteralText = "\" can be converted to byte\"", @ParenthesisDepth = 0, @Parenthesized = false, @TextBlock = false]
         |     +- LocalVariableDeclaration[@EffectiveVisibility = Visibility.V_LOCAL, @Final = false, @TypeInferred = false, @Visibility = Visibility.V_LOCAL]
         |     |  +- ModifierList[@EffectiveModifiers = (), @ExplicitModifiers = ()]
         |     |  +- PrimitiveType[@Kind = PrimitiveTypeKind.INT]
         |     |  +- VariableDeclarator[@Initializer = true, @Name = "bigInt"]
         |     |     +- VariableId[@ArrayType = false, @EffectiveVisibility = Visibility.V_LOCAL, @EnumConstant = false, @ExceptionBlockParameter = false, @Field = false, @Final = false, @ForLoopVariable = false, @ForeachVariable = false, @FormalParameter = false, @LambdaParameter = false, @LocalVariable = true, @Name = "bigInt", @PatternBinding = false, @RecordComponent = false, @ResourceDeclaration = false, @Static = false, @TypeInferred = false, @Unnamed = false, @Visibility = Visibility.V_LOCAL]
         |     |     +- NumericLiteral[@Base = 10, @CompileTimeConstant = true, @DoubleLiteral = false, @FloatLiteral = false, @Image = "1000", @IntLiteral = true, @Integral = true, @LiteralText = "1000", @LongLiteral = false, @ParenthesisDepth = 0, @Parenthesized = false, @ValueAsDouble = 1000.0, @ValueAsFloat = 1000.0, @ValueAsInt = 1000, @ValueAsLong = 1000]
         |     +- IfStatement[@Else = true]
         |     |  +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.INSTANCEOF, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |  |  +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "bigInt", @Name = "bigInt", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |  |  +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |  |     +- PrimitiveType[@Kind = PrimitiveTypeKind.BYTE]
         |     |  +- Block[@Empty = false, @Size = 1, @containsComment = false]
         |     |  |  +- ExpressionStatement[]
         |     |  |     +- MethodCall[@CompileTimeConstant = false, @Image = "println", @MethodName = "println", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |  |        +- FieldAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "out", @Name = "out", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |  |        |  +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |  |        |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "System"]
         |     |  |        +- ArgumentList[@Empty = false, @Size = 1]
         |     |  |           +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.ADD, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |  |              +- StringLiteral[@CompileTimeConstant = true, @ConstValue = "bigInt = ", @Empty = false, @Image = "\"bigInt = \"", @Length = 9, @LiteralText = "\"bigInt = \"", @ParenthesisDepth = 0, @Parenthesized = false, @TextBlock = false]
         |     |  |              +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "bigInt", @Name = "bigInt", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |  +- Block[@Empty = false, @Size = 1, @containsComment = false]
         |     |     +- ExpressionStatement[]
         |     |        +- MethodCall[@CompileTimeConstant = false, @Image = "println", @MethodName = "println", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |           +- FieldAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "out", @Name = "out", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |           |  +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |           |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "System"]
         |     |           +- ArgumentList[@Empty = false, @Size = 1]
         |     |              +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.ADD, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |                 +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.ADD, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |                 |  +- StringLiteral[@CompileTimeConstant = true, @ConstValue = "bigInt = ", @Empty = false, @Image = "\"bigInt = \"", @Length = 9, @LiteralText = "\"bigInt = \"", @ParenthesisDepth = 0, @Parenthesized = false, @TextBlock = false]
         |     |                 |  +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "bigInt", @Name = "bigInt", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |                 +- StringLiteral[@CompileTimeConstant = true, @ConstValue = " cannot be converted to byte", @Empty = false, @Image = "\" cannot be converted to byte\"", @Length = 28, @LiteralText = "\" cannot be converted to byte\"", @ParenthesisDepth = 0, @Parenthesized = false, @TextBlock = false]
         |     +- LocalVariableDeclaration[@EffectiveVisibility = Visibility.V_LOCAL, @Final = false, @TypeInferred = false, @Visibility = Visibility.V_LOCAL]
         |     |  +- ModifierList[@EffectiveModifiers = (), @ExplicitModifiers = ()]
         |     |  +- PrimitiveType[@Kind = PrimitiveTypeKind.INT]
         |     |  +- VariableDeclarator[@Initializer = true, @Name = "i2"]
         |     |     +- VariableId[@ArrayType = false, @EffectiveVisibility = Visibility.V_LOCAL, @EnumConstant = false, @ExceptionBlockParameter = false, @Field = false, @Final = false, @ForLoopVariable = false, @ForeachVariable = false, @FormalParameter = false, @LambdaParameter = false, @LocalVariable = true, @Name = "i2", @PatternBinding = false, @RecordComponent = false, @ResourceDeclaration = false, @Static = false, @TypeInferred = false, @Unnamed = false, @Visibility = Visibility.V_LOCAL]
         |     |     +- NumericLiteral[@Base = 10, @CompileTimeConstant = true, @DoubleLiteral = false, @FloatLiteral = false, @Image = "16_777_217", @IntLiteral = true, @Integral = true, @LiteralText = "16_777_217", @LongLiteral = false, @ParenthesisDepth = 0, @Parenthesized = false, @ValueAsDouble = 1.6777217E7, @ValueAsFloat = 1.6777216E7, @ValueAsInt = 16777217, @ValueAsLong = 16777217]
         |     +- ExpressionStatement[]
         |     |  +- MethodCall[@CompileTimeConstant = false, @Image = "println", @MethodName = "println", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     +- FieldAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "out", @Name = "out", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     |  +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "System"]
         |     |     +- ArgumentList[@Empty = false, @Size = 1]
         |     |        +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.ADD, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |           +- StringLiteral[@CompileTimeConstant = true, @ConstValue = "i2 as float: ", @Empty = false, @Image = "\"i2 as float: \"", @Length = 13, @LiteralText = "\"i2 as float: \"", @ParenthesisDepth = 0, @Parenthesized = false, @TextBlock = false]
         |     |           +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.INSTANCEOF, @ParenthesisDepth = 1, @Parenthesized = true]
         |     |              +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "i2", @Name = "i2", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |              +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |                 +- PrimitiveType[@Kind = PrimitiveTypeKind.FLOAT]
         |     +- ExpressionStatement[]
         |     |  +- MethodCall[@CompileTimeConstant = false, @Image = "println", @MethodName = "println", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     +- FieldAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "out", @Name = "out", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     |  +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "System"]
         |     |     +- ArgumentList[@Empty = false, @Size = 1]
         |     |        +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.ADD, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |           +- StringLiteral[@CompileTimeConstant = true, @ConstValue = "i2 as double: ", @Empty = false, @Image = "\"i2 as double: \"", @Length = 14, @LiteralText = "\"i2 as double: \"", @ParenthesisDepth = 0, @Parenthesized = false, @TextBlock = false]
         |     |           +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.INSTANCEOF, @ParenthesisDepth = 1, @Parenthesized = true]
         |     |              +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "i2", @Name = "i2", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |              +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |                 +- PrimitiveType[@Kind = PrimitiveTypeKind.DOUBLE]
         |     +- ExpressionStatement[]
         |     |  +- MethodCall[@CompileTimeConstant = false, @Image = "println", @MethodName = "println", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     +- FieldAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "out", @Name = "out", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     |  +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "System"]
         |     |     +- ArgumentList[@Empty = false, @Size = 1]
         |     |        +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.ADD, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |           +- StringLiteral[@CompileTimeConstant = true, @ConstValue = "i2 as Integer: ", @Empty = false, @Image = "\"i2 as Integer: \"", @Length = 15, @LiteralText = "\"i2 as Integer: \"", @ParenthesisDepth = 0, @Parenthesized = false, @TextBlock = false]
         |     |           +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.INSTANCEOF, @ParenthesisDepth = 1, @Parenthesized = true]
         |     |              +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "i2", @Name = "i2", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |              +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |                 +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "Integer"]
         |     +- ExpressionStatement[]
         |     |  +- MethodCall[@CompileTimeConstant = false, @Image = "println", @MethodName = "println", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     +- FieldAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "out", @Name = "out", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     |  +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "System"]
         |     |     +- ArgumentList[@Empty = false, @Size = 1]
         |     |        +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.ADD, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |           +- StringLiteral[@CompileTimeConstant = true, @ConstValue = "i2 as Number: ", @Empty = false, @Image = "\"i2 as Number: \"", @Length = 14, @LiteralText = "\"i2 as Number: \"", @ParenthesisDepth = 0, @Parenthesized = false, @TextBlock = false]
         |     |           +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.INSTANCEOF, @ParenthesisDepth = 1, @Parenthesized = true]
         |     |              +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "i2", @Name = "i2", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |              +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |                 +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "Number"]
         |     +- LocalVariableDeclaration[@EffectiveVisibility = Visibility.V_LOCAL, @Final = false, @TypeInferred = false, @Visibility = Visibility.V_LOCAL]
         |     |  +- ModifierList[@EffectiveModifiers = (), @ExplicitModifiers = ()]
         |     |  +- PrimitiveType[@Kind = PrimitiveTypeKind.FLOAT]
         |     |  +- VariableDeclarator[@Initializer = true, @Name = "f"]
         |     |     +- VariableId[@ArrayType = false, @EffectiveVisibility = Visibility.V_LOCAL, @EnumConstant = false, @ExceptionBlockParameter = false, @Field = false, @Final = false, @ForLoopVariable = false, @ForeachVariable = false, @FormalParameter = false, @LambdaParameter = false, @LocalVariable = true, @Name = "f", @PatternBinding = false, @RecordComponent = false, @ResourceDeclaration = false, @Static = false, @TypeInferred = false, @Unnamed = false, @Visibility = Visibility.V_LOCAL]
         |     |     +- NumericLiteral[@Base = 10, @CompileTimeConstant = true, @DoubleLiteral = false, @FloatLiteral = true, @Image = "1000.0f", @IntLiteral = false, @Integral = false, @LiteralText = "1000.0f", @LongLiteral = false, @ParenthesisDepth = 0, @Parenthesized = false, @ValueAsDouble = 1000.0, @ValueAsFloat = 1000.0, @ValueAsInt = 1000, @ValueAsLong = 1000]
         |     +- ExpressionStatement[]
         |     |  +- MethodCall[@CompileTimeConstant = false, @Image = "println", @MethodName = "println", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     +- FieldAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "out", @Name = "out", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     |  +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "System"]
         |     |     +- ArgumentList[@Empty = false, @Size = 1]
         |     |        +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.ADD, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |           +- StringLiteral[@CompileTimeConstant = true, @ConstValue = "f as byte: ", @Empty = false, @Image = "\"f as byte: \"", @Length = 11, @LiteralText = "\"f as byte: \"", @ParenthesisDepth = 0, @Parenthesized = false, @TextBlock = false]
         |     |           +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.INSTANCEOF, @ParenthesisDepth = 1, @Parenthesized = true]
         |     |              +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "f", @Name = "f", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |              +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |                 +- PrimitiveType[@Kind = PrimitiveTypeKind.BYTE]
         |     +- ExpressionStatement[]
         |     |  +- MethodCall[@CompileTimeConstant = false, @Image = "println", @MethodName = "println", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     +- FieldAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "out", @Name = "out", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     |  +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "System"]
         |     |     +- ArgumentList[@Empty = false, @Size = 1]
         |     |        +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.ADD, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |           +- StringLiteral[@CompileTimeConstant = true, @ConstValue = "f as int: ", @Empty = false, @Image = "\"f as int: \"", @Length = 10, @LiteralText = "\"f as int: \"", @ParenthesisDepth = 0, @Parenthesized = false, @TextBlock = false]
         |     |           +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.INSTANCEOF, @ParenthesisDepth = 1, @Parenthesized = true]
         |     |              +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "f", @Name = "f", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |              +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |                 +- PrimitiveType[@Kind = PrimitiveTypeKind.INT]
         |     +- ExpressionStatement[]
         |     |  +- MethodCall[@CompileTimeConstant = false, @Image = "println", @MethodName = "println", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     +- FieldAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "out", @Name = "out", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     |  +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "System"]
         |     |     +- ArgumentList[@Empty = false, @Size = 1]
         |     |        +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.ADD, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |           +- StringLiteral[@CompileTimeConstant = true, @ConstValue = "f as double: ", @Empty = false, @Image = "\"f as double: \"", @Length = 13, @LiteralText = "\"f as double: \"", @ParenthesisDepth = 0, @Parenthesized = false, @TextBlock = false]
         |     |           +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.INSTANCEOF, @ParenthesisDepth = 1, @Parenthesized = true]
         |     |              +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "f", @Name = "f", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |              +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |                 +- PrimitiveType[@Kind = PrimitiveTypeKind.DOUBLE]
         |     +- LocalVariableDeclaration[@EffectiveVisibility = Visibility.V_LOCAL, @Final = false, @TypeInferred = false, @Visibility = Visibility.V_LOCAL]
         |     |  +- ModifierList[@EffectiveModifiers = (), @ExplicitModifiers = ()]
         |     |  +- PrimitiveType[@Kind = PrimitiveTypeKind.DOUBLE]
         |     |  +- VariableDeclarator[@Initializer = true, @Name = "d"]
         |     |     +- VariableId[@ArrayType = false, @EffectiveVisibility = Visibility.V_LOCAL, @EnumConstant = false, @ExceptionBlockParameter = false, @Field = false, @Final = false, @ForLoopVariable = false, @ForeachVariable = false, @FormalParameter = false, @LambdaParameter = false, @LocalVariable = true, @Name = "d", @PatternBinding = false, @RecordComponent = false, @ResourceDeclaration = false, @Static = false, @TypeInferred = false, @Unnamed = false, @Visibility = Visibility.V_LOCAL]
         |     |     +- NumericLiteral[@Base = 10, @CompileTimeConstant = true, @DoubleLiteral = true, @FloatLiteral = false, @Image = "1000.0d", @IntLiteral = false, @Integral = false, @LiteralText = "1000.0d", @LongLiteral = false, @ParenthesisDepth = 0, @Parenthesized = false, @ValueAsDouble = 1000.0, @ValueAsFloat = 1000.0, @ValueAsInt = 1000, @ValueAsLong = 1000]
         |     +- ExpressionStatement[]
         |     |  +- MethodCall[@CompileTimeConstant = false, @Image = "println", @MethodName = "println", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     +- FieldAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "out", @Name = "out", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     |  +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "System"]
         |     |     +- ArgumentList[@Empty = false, @Size = 1]
         |     |        +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.ADD, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |           +- StringLiteral[@CompileTimeConstant = true, @ConstValue = "d as byte: ", @Empty = false, @Image = "\"d as byte: \"", @Length = 11, @LiteralText = "\"d as byte: \"", @ParenthesisDepth = 0, @Parenthesized = false, @TextBlock = false]
         |     |           +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.INSTANCEOF, @ParenthesisDepth = 1, @Parenthesized = true]
         |     |              +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "d", @Name = "d", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |              +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |                 +- PrimitiveType[@Kind = PrimitiveTypeKind.BYTE]
         |     +- ExpressionStatement[]
         |     |  +- MethodCall[@CompileTimeConstant = false, @Image = "println", @MethodName = "println", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     +- FieldAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "out", @Name = "out", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     |  +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "System"]
         |     |     +- ArgumentList[@Empty = false, @Size = 1]
         |     |        +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.ADD, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |           +- StringLiteral[@CompileTimeConstant = true, @ConstValue = "d as int: ", @Empty = false, @Image = "\"d as int: \"", @Length = 10, @LiteralText = "\"d as int: \"", @ParenthesisDepth = 0, @Parenthesized = false, @TextBlock = false]
         |     |           +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.INSTANCEOF, @ParenthesisDepth = 1, @Parenthesized = true]
         |     |              +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "d", @Name = "d", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |              +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |                 +- PrimitiveType[@Kind = PrimitiveTypeKind.INT]
         |     +- ExpressionStatement[]
         |     |  +- MethodCall[@CompileTimeConstant = false, @Image = "println", @MethodName = "println", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     +- FieldAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "out", @Name = "out", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     |  +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "System"]
         |     |     +- ArgumentList[@Empty = false, @Size = 1]
         |     |        +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.ADD, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |           +- StringLiteral[@CompileTimeConstant = true, @ConstValue = "d as float: ", @Empty = false, @Image = "\"d as float: \"", @Length = 12, @LiteralText = "\"d as float: \"", @ParenthesisDepth = 0, @Parenthesized = false, @TextBlock = false]
         |     |           +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.INSTANCEOF, @ParenthesisDepth = 1, @Parenthesized = true]
         |     |              +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "d", @Name = "d", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |              +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |                 +- PrimitiveType[@Kind = PrimitiveTypeKind.FLOAT]
         |     +- LocalVariableDeclaration[@EffectiveVisibility = Visibility.V_LOCAL, @Final = false, @TypeInferred = false, @Visibility = Visibility.V_LOCAL]
         |     |  +- ModifierList[@EffectiveModifiers = (), @ExplicitModifiers = ()]
         |     |  +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "Integer"]
         |     |  +- VariableDeclarator[@Initializer = true, @Name = "ii"]
         |     |     +- VariableId[@ArrayType = false, @EffectiveVisibility = Visibility.V_LOCAL, @EnumConstant = false, @ExceptionBlockParameter = false, @Field = false, @Final = false, @ForLoopVariable = false, @ForeachVariable = false, @FormalParameter = false, @LambdaParameter = false, @LocalVariable = true, @Name = "ii", @PatternBinding = false, @RecordComponent = false, @ResourceDeclaration = false, @Static = false, @TypeInferred = false, @Unnamed = false, @Visibility = Visibility.V_LOCAL]
         |     |     +- NumericLiteral[@Base = 10, @CompileTimeConstant = true, @DoubleLiteral = false, @FloatLiteral = false, @Image = "1000", @IntLiteral = true, @Integral = true, @LiteralText = "1000", @LongLiteral = false, @ParenthesisDepth = 0, @Parenthesized = false, @ValueAsDouble = 1000.0, @ValueAsFloat = 1000.0, @ValueAsInt = 1000, @ValueAsLong = 1000]
         |     +- ExpressionStatement[]
         |     |  +- MethodCall[@CompileTimeConstant = false, @Image = "println", @MethodName = "println", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     +- FieldAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "out", @Name = "out", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     |  +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "System"]
         |     |     +- ArgumentList[@Empty = false, @Size = 1]
         |     |        +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.ADD, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |           +- StringLiteral[@CompileTimeConstant = true, @ConstValue = "ii as int: ", @Empty = false, @Image = "\"ii as int: \"", @Length = 11, @LiteralText = "\"ii as int: \"", @ParenthesisDepth = 0, @Parenthesized = false, @TextBlock = false]
         |     |           +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.INSTANCEOF, @ParenthesisDepth = 1, @Parenthesized = true]
         |     |              +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "ii", @Name = "ii", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |              +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |                 +- PrimitiveType[@Kind = PrimitiveTypeKind.INT]
         |     +- ExpressionStatement[]
         |     |  +- MethodCall[@CompileTimeConstant = false, @Image = "println", @MethodName = "println", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     +- FieldAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "out", @Name = "out", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     |  +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "System"]
         |     |     +- ArgumentList[@Empty = false, @Size = 1]
         |     |        +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.ADD, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |           +- StringLiteral[@CompileTimeConstant = true, @ConstValue = "ii as float: ", @Empty = false, @Image = "\"ii as float: \"", @Length = 13, @LiteralText = "\"ii as float: \"", @ParenthesisDepth = 0, @Parenthesized = false, @TextBlock = false]
         |     |           +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.INSTANCEOF, @ParenthesisDepth = 1, @Parenthesized = true]
         |     |              +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "ii", @Name = "ii", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |              +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |                 +- PrimitiveType[@Kind = PrimitiveTypeKind.FLOAT]
         |     +- ExpressionStatement[]
         |     |  +- MethodCall[@CompileTimeConstant = false, @Image = "println", @MethodName = "println", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     +- FieldAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "out", @Name = "out", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     |  +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "System"]
         |     |     +- ArgumentList[@Empty = false, @Size = 1]
         |     |        +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.ADD, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |           +- StringLiteral[@CompileTimeConstant = true, @ConstValue = "ii as double: ", @Empty = false, @Image = "\"ii as double: \"", @Length = 14, @LiteralText = "\"ii as double: \"", @ParenthesisDepth = 0, @Parenthesized = false, @TextBlock = false]
         |     |           +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.INSTANCEOF, @ParenthesisDepth = 1, @Parenthesized = true]
         |     |              +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "ii", @Name = "ii", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |              +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |                 +- PrimitiveType[@Kind = PrimitiveTypeKind.DOUBLE]
         |     +- LocalVariableDeclaration[@EffectiveVisibility = Visibility.V_LOCAL, @Final = false, @TypeInferred = false, @Visibility = Visibility.V_LOCAL]
         |     |  +- ModifierList[@EffectiveModifiers = (), @ExplicitModifiers = ()]
         |     |  +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "Integer"]
         |     |  +- VariableDeclarator[@Initializer = true, @Name = "ii2"]
         |     |     +- VariableId[@ArrayType = false, @EffectiveVisibility = Visibility.V_LOCAL, @EnumConstant = false, @ExceptionBlockParameter = false, @Field = false, @Final = false, @ForLoopVariable = false, @ForeachVariable = false, @FormalParameter = false, @LambdaParameter = false, @LocalVariable = true, @Name = "ii2", @PatternBinding = false, @RecordComponent = false, @ResourceDeclaration = false, @Static = false, @TypeInferred = false, @Unnamed = false, @Visibility = Visibility.V_LOCAL]
         |     |     +- NumericLiteral[@Base = 10, @CompileTimeConstant = true, @DoubleLiteral = false, @FloatLiteral = false, @Image = "16_777_217", @IntLiteral = true, @Integral = true, @LiteralText = "16_777_217", @LongLiteral = false, @ParenthesisDepth = 0, @Parenthesized = false, @ValueAsDouble = 1.6777217E7, @ValueAsFloat = 1.6777216E7, @ValueAsInt = 16777217, @ValueAsLong = 16777217]
         |     +- ExpressionStatement[]
         |     |  +- MethodCall[@CompileTimeConstant = false, @Image = "println", @MethodName = "println", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     +- FieldAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "out", @Name = "out", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     |  +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "System"]
         |     |     +- ArgumentList[@Empty = false, @Size = 1]
         |     |        +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.ADD, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |           +- StringLiteral[@CompileTimeConstant = true, @ConstValue = "ii2 as float: ", @Empty = false, @Image = "\"ii2 as float: \"", @Length = 14, @LiteralText = "\"ii2 as float: \"", @ParenthesisDepth = 0, @Parenthesized = false, @TextBlock = false]
         |     |           +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.INSTANCEOF, @ParenthesisDepth = 1, @Parenthesized = true]
         |     |              +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "ii2", @Name = "ii2", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |              +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |                 +- PrimitiveType[@Kind = PrimitiveTypeKind.FLOAT]
         |     +- ExpressionStatement[]
         |        +- MethodCall[@CompileTimeConstant = false, @Image = "println", @MethodName = "println", @ParenthesisDepth = 0, @Parenthesized = false]
         |           +- FieldAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "out", @Name = "out", @ParenthesisDepth = 0, @Parenthesized = false]
         |           |  +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |           |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "System"]
         |           +- ArgumentList[@Empty = false, @Size = 1]
         |              +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.ADD, @ParenthesisDepth = 0, @Parenthesized = false]
         |                 +- StringLiteral[@CompileTimeConstant = true, @ConstValue = "ii2 as double: ", @Empty = false, @Image = "\"ii2 as double: \"", @Length = 15, @LiteralText = "\"ii2 as double: \"", @ParenthesisDepth = 0, @Parenthesized = false, @TextBlock = false]
         |                 +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.INSTANCEOF, @ParenthesisDepth = 1, @Parenthesized = true]
         |                    +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "ii2", @Name = "ii2", @ParenthesisDepth = 0, @Parenthesized = false]
         |                    +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |                       +- PrimitiveType[@Kind = PrimitiveTypeKind.DOUBLE]
         +- MethodDeclaration[@Abstract = false, @Arity = 0, @EffectiveVisibility = Visibility.V_PUBLIC, @Final = false, @Name = "primitiveTypePatternsInInstanceof", @Overridden = false, @Static = true, @Varargs = false, @Visibility = Visibility.V_PUBLIC, @Void = true]
         |  +- ModifierList[@EffectiveModifiers = (JModifier.PUBLIC, JModifier.STATIC), @ExplicitModifiers = (JModifier.PUBLIC, JModifier.STATIC)]
         |  +- VoidType[]
         |  +- FormalParameters[@Empty = true, @Size = 0]
         |  +- Block[@Empty = false, @Size = 2, @containsComment = false]
         |     +- LocalVariableDeclaration[@EffectiveVisibility = Visibility.V_LOCAL, @Final = false, @TypeInferred = false, @Visibility = Visibility.V_LOCAL]
         |     |  +- ModifierList[@EffectiveModifiers = (), @ExplicitModifiers = ()]
         |     |  +- PrimitiveType[@Kind = PrimitiveTypeKind.INT]
         |     |  +- VariableDeclarator[@Initializer = true, @Name = "i"]
         |     |     +- VariableId[@ArrayType = false, @EffectiveVisibility = Visibility.V_LOCAL, @EnumConstant = false, @ExceptionBlockParameter = false, @Field = false, @Final = false, @ForLoopVariable = false, @ForeachVariable = false, @FormalParameter = false, @LambdaParameter = false, @LocalVariable = true, @Name = "i", @PatternBinding = false, @RecordComponent = false, @ResourceDeclaration = false, @Static = false, @TypeInferred = false, @Unnamed = false, @Visibility = Visibility.V_LOCAL]
         |     |     +- NumericLiteral[@Base = 10, @CompileTimeConstant = true, @DoubleLiteral = false, @FloatLiteral = false, @Image = "1000", @IntLiteral = true, @Integral = true, @LiteralText = "1000", @LongLiteral = false, @ParenthesisDepth = 0, @Parenthesized = false, @ValueAsDouble = 1000.0, @ValueAsFloat = 1000.0, @ValueAsInt = 1000, @ValueAsLong = 1000]
         |     +- IfStatement[@Else = true]
         |        +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.INSTANCEOF, @ParenthesisDepth = 0, @Parenthesized = false]
         |        |  +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "i", @Name = "i", @ParenthesisDepth = 0, @Parenthesized = false]
         |        |  +- PatternExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |        |     +- TypePattern[@EffectiveVisibility = Visibility.V_PACKAGE, @Visibility = Visibility.V_PACKAGE]
         |        |        +- ModifierList[@EffectiveModifiers = (), @ExplicitModifiers = ()]
         |        |        +- PrimitiveType[@Kind = PrimitiveTypeKind.BYTE]
         |        |        +- VariableId[@ArrayType = false, @EffectiveVisibility = Visibility.V_LOCAL, @EnumConstant = false, @ExceptionBlockParameter = false, @Field = false, @Final = false, @ForLoopVariable = false, @ForeachVariable = false, @FormalParameter = false, @LambdaParameter = false, @LocalVariable = false, @Name = "b", @PatternBinding = true, @RecordComponent = false, @ResourceDeclaration = false, @Static = false, @TypeInferred = false, @Unnamed = false, @Visibility = Visibility.V_LOCAL]
         |        +- Block[@Empty = false, @Size = 1, @containsComment = false]
         |        |  +- ExpressionStatement[]
         |        |     +- MethodCall[@CompileTimeConstant = false, @Image = "println", @MethodName = "println", @ParenthesisDepth = 0, @Parenthesized = false]
         |        |        +- FieldAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "out", @Name = "out", @ParenthesisDepth = 0, @Parenthesized = false]
         |        |        |  +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |        |        |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "System"]
         |        |        +- ArgumentList[@Empty = false, @Size = 1]
         |        |           +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.ADD, @ParenthesisDepth = 0, @Parenthesized = false]
         |        |              +- StringLiteral[@CompileTimeConstant = true, @ConstValue = "b = ", @Empty = false, @Image = "\"b = \"", @Length = 4, @LiteralText = "\"b = \"", @ParenthesisDepth = 0, @Parenthesized = false, @TextBlock = false]
         |        |              +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "b", @Name = "b", @ParenthesisDepth = 0, @Parenthesized = false]
         |        +- Block[@Empty = false, @Size = 1, @containsComment = false]
         |           +- ExpressionStatement[]
         |              +- MethodCall[@CompileTimeConstant = false, @Image = "println", @MethodName = "println", @ParenthesisDepth = 0, @Parenthesized = false]
         |                 +- FieldAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "out", @Name = "out", @ParenthesisDepth = 0, @Parenthesized = false]
         |                 |  +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |                 |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "System"]
         |                 +- ArgumentList[@Empty = false, @Size = 1]
         |                    +- StringLiteral[@CompileTimeConstant = true, @ConstValue = "i cannot be coverted to byte without loss...", @Empty = false, @Image = "\"i cannot be coverted to byte without loss...\"", @Length = 44, @LiteralText = "\"i cannot be coverted to byte without loss...\"", @ParenthesisDepth = 0, @Parenthesized = false, @TextBlock = false]
         +- MethodDeclaration[@Abstract = false, @Arity = 0, @EffectiveVisibility = Visibility.V_PUBLIC, @Final = false, @Name = "primitiveTypePatternsInSwitch", @Overridden = false, @Static = true, @Varargs = false, @Visibility = Visibility.V_PUBLIC, @Void = true]
         |  +- ModifierList[@EffectiveModifiers = (JModifier.PUBLIC, JModifier.STATIC), @ExplicitModifiers = (JModifier.PUBLIC, JModifier.STATIC)]
         |  +- VoidType[]
         |  +- FormalParameters[@Empty = true, @Size = 0]
         |  +- Block[@Empty = false, @Size = 2, @containsComment = false]
         |     +- LocalVariableDeclaration[@EffectiveVisibility = Visibility.V_LOCAL, @Final = false, @TypeInferred = false, @Visibility = Visibility.V_LOCAL]
         |     |  +- ModifierList[@EffectiveModifiers = (), @ExplicitModifiers = ()]
         |     |  +- PrimitiveType[@Kind = PrimitiveTypeKind.INT]
         |     |  +- VariableDeclarator[@Initializer = true, @Name = "i"]
         |     |     +- VariableId[@ArrayType = false, @EffectiveVisibility = Visibility.V_LOCAL, @EnumConstant = false, @ExceptionBlockParameter = false, @Field = false, @Final = false, @ForLoopVariable = false, @ForeachVariable = false, @FormalParameter = false, @LambdaParameter = false, @LocalVariable = true, @Name = "i", @PatternBinding = false, @RecordComponent = false, @ResourceDeclaration = false, @Static = false, @TypeInferred = false, @Unnamed = false, @Visibility = Visibility.V_LOCAL]
         |     |     +- NumericLiteral[@Base = 10, @CompileTimeConstant = true, @DoubleLiteral = false, @FloatLiteral = false, @Image = "1000", @IntLiteral = true, @Integral = true, @LiteralText = "1000", @LongLiteral = false, @ParenthesisDepth = 0, @Parenthesized = false, @ValueAsDouble = 1000.0, @ValueAsFloat = 1000.0, @ValueAsInt = 1000, @ValueAsLong = 1000]
         |     +- SwitchStatement[@DefaultCase = false, @EnumSwitch = false, @ExhaustiveEnumSwitch = false, @FallthroughSwitch = true]
         |        +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "i", @Name = "i", @ParenthesisDepth = 0, @Parenthesized = false]
         |        +- SwitchFallthroughBranch[@Default = false]
         |           +- SwitchLabel[@Default = false, @PatternLabel = true]
         |           |  +- TypePattern[@EffectiveVisibility = Visibility.V_PACKAGE, @Visibility = Visibility.V_PACKAGE]
         |           |     +- ModifierList[@EffectiveModifiers = (), @ExplicitModifiers = ()]
         |           |     +- PrimitiveType[@Kind = PrimitiveTypeKind.DOUBLE]
         |           |     +- VariableId[@ArrayType = false, @EffectiveVisibility = Visibility.V_LOCAL, @EnumConstant = false, @ExceptionBlockParameter = false, @Field = false, @Final = false, @ForLoopVariable = false, @ForeachVariable = false, @FormalParameter = false, @LambdaParameter = false, @LocalVariable = false, @Name = "d", @PatternBinding = true, @RecordComponent = false, @ResourceDeclaration = false, @Static = false, @TypeInferred = false, @Unnamed = false, @Visibility = Visibility.V_LOCAL]
         |           +- ExpressionStatement[]
         |           |  +- MethodCall[@CompileTimeConstant = false, @Image = "println", @MethodName = "println", @ParenthesisDepth = 0, @Parenthesized = false]
         |           |     +- FieldAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "out", @Name = "out", @ParenthesisDepth = 0, @Parenthesized = false]
         |           |     |  +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |           |     |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "System"]
         |           |     +- ArgumentList[@Empty = false, @Size = 1]
         |           |        +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.ADD, @ParenthesisDepth = 0, @Parenthesized = false]
         |           |           +- StringLiteral[@CompileTimeConstant = true, @ConstValue = "d = ", @Empty = false, @Image = "\"d = \"", @Length = 4, @LiteralText = "\"d = \"", @ParenthesisDepth = 0, @Parenthesized = false, @TextBlock = false]
         |           |           +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "d", @Name = "d", @ParenthesisDepth = 0, @Parenthesized = false]
         |           +- BreakStatement[@Label = null]
         +- MethodDeclaration[@Abstract = false, @Arity = 0, @EffectiveVisibility = Visibility.V_PUBLIC, @Final = false, @Name = "expandedPrimitiveSupportInSwitch", @Overridden = false, @Static = true, @Varargs = false, @Visibility = Visibility.V_PUBLIC, @Void = true]
         |  +- ModifierList[@EffectiveModifiers = (JModifier.PUBLIC, JModifier.STATIC), @ExplicitModifiers = (JModifier.PUBLIC, JModifier.STATIC)]
         |  +- VoidType[]
         |  +- FormalParameters[@Empty = true, @Size = 0]
         |  +- Block[@Empty = false, @Size = 5, @containsComment = false]
         |     +- LocalVariableDeclaration[@EffectiveVisibility = Visibility.V_LOCAL, @Final = false, @TypeInferred = false, @Visibility = Visibility.V_LOCAL]
         |     |  +- ModifierList[@EffectiveModifiers = (), @ExplicitModifiers = ()]
         |     |  +- PrimitiveType[@Kind = PrimitiveTypeKind.FLOAT]
         |     |  +- VariableDeclarator[@Initializer = true, @Name = "v"]
         |     |     +- VariableId[@ArrayType = false, @EffectiveVisibility = Visibility.V_LOCAL, @EnumConstant = false, @ExceptionBlockParameter = false, @Field = false, @Final = false, @ForLoopVariable = false, @ForeachVariable = false, @FormalParameter = false, @LambdaParameter = false, @LocalVariable = true, @Name = "v", @PatternBinding = false, @RecordComponent = false, @ResourceDeclaration = false, @Static = false, @TypeInferred = false, @Unnamed = false, @Visibility = Visibility.V_LOCAL]
         |     |     +- NumericLiteral[@Base = 10, @CompileTimeConstant = true, @DoubleLiteral = false, @FloatLiteral = true, @Image = "1.0f", @IntLiteral = false, @Integral = false, @LiteralText = "1.0f", @LongLiteral = false, @ParenthesisDepth = 0, @Parenthesized = false, @ValueAsDouble = 1.0, @ValueAsFloat = 1.0, @ValueAsInt = 1, @ValueAsLong = 1]
         |     +- LocalVariableDeclaration[@EffectiveVisibility = Visibility.V_LOCAL, @Final = false, @TypeInferred = false, @Visibility = Visibility.V_LOCAL]
         |     |  +- ModifierList[@EffectiveModifiers = (), @ExplicitModifiers = ()]
         |     |  +- PrimitiveType[@Kind = PrimitiveTypeKind.FLOAT]
         |     |  +- VariableDeclarator[@Initializer = true, @Name = "f"]
         |     |     +- VariableId[@ArrayType = false, @EffectiveVisibility = Visibility.V_LOCAL, @EnumConstant = false, @ExceptionBlockParameter = false, @Field = false, @Final = false, @ForLoopVariable = false, @ForeachVariable = false, @FormalParameter = false, @LambdaParameter = false, @LocalVariable = true, @Name = "f", @PatternBinding = false, @RecordComponent = false, @ResourceDeclaration = false, @Static = false, @TypeInferred = false, @Unnamed = false, @Visibility = Visibility.V_LOCAL]
         |     |     +- SwitchExpression[@CompileTimeConstant = false, @DefaultCase = false, @EnumSwitch = false, @ExhaustiveEnumSwitch = false, @FallthroughSwitch = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |        +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "v", @Name = "v", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |        +- SwitchArrowBranch[@Default = false]
         |     |        |  +- SwitchLabel[@Default = false, @PatternLabel = false]
         |     |        |  |  +- NumericLiteral[@Base = 10, @CompileTimeConstant = true, @DoubleLiteral = false, @FloatLiteral = true, @Image = "0f", @IntLiteral = false, @Integral = false, @LiteralText = "0f", @LongLiteral = false, @ParenthesisDepth = 0, @Parenthesized = false, @ValueAsDouble = 0.0, @ValueAsFloat = 0.0, @ValueAsInt = 0, @ValueAsLong = 0]
         |     |        |  +- NumericLiteral[@Base = 10, @CompileTimeConstant = true, @DoubleLiteral = false, @FloatLiteral = true, @Image = "5f", @IntLiteral = false, @Integral = false, @LiteralText = "5f", @LongLiteral = false, @ParenthesisDepth = 0, @Parenthesized = false, @ValueAsDouble = 5.0, @ValueAsFloat = 5.0, @ValueAsInt = 5, @ValueAsLong = 5]
         |     |        +- SwitchArrowBranch[@Default = false]
         |     |        |  +- SwitchLabel[@Default = false, @PatternLabel = true]
         |     |        |  |  +- TypePattern[@EffectiveVisibility = Visibility.V_PACKAGE, @Visibility = Visibility.V_PACKAGE]
         |     |        |  |  |  +- ModifierList[@EffectiveModifiers = (), @ExplicitModifiers = ()]
         |     |        |  |  |  +- PrimitiveType[@Kind = PrimitiveTypeKind.FLOAT]
         |     |        |  |  |  +- VariableId[@ArrayType = false, @EffectiveVisibility = Visibility.V_LOCAL, @EnumConstant = false, @ExceptionBlockParameter = false, @Field = false, @Final = false, @ForLoopVariable = false, @ForeachVariable = false, @FormalParameter = false, @LambdaParameter = false, @LocalVariable = false, @Name = "x", @PatternBinding = true, @RecordComponent = false, @ResourceDeclaration = false, @Static = false, @TypeInferred = false, @Unnamed = false, @Visibility = Visibility.V_LOCAL]
         |     |        |  |  +- Guard[]
         |     |        |  |     +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.EQ, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |        |  |        +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "x", @Name = "x", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |        |  |        +- NumericLiteral[@Base = 10, @CompileTimeConstant = true, @DoubleLiteral = false, @FloatLiteral = true, @Image = "1f", @IntLiteral = false, @Integral = false, @LiteralText = "1f", @LongLiteral = false, @ParenthesisDepth = 0, @Parenthesized = false, @ValueAsDouble = 1.0, @ValueAsFloat = 1.0, @ValueAsInt = 1, @ValueAsLong = 1]
         |     |        |  +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.ADD, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |        |     +- NumericLiteral[@Base = 10, @CompileTimeConstant = true, @DoubleLiteral = false, @FloatLiteral = true, @Image = "6f", @IntLiteral = false, @Integral = false, @LiteralText = "6f", @LongLiteral = false, @ParenthesisDepth = 0, @Parenthesized = false, @ValueAsDouble = 6.0, @ValueAsFloat = 6.0, @ValueAsInt = 6, @ValueAsLong = 6]
         |     |        |     +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "x", @Name = "x", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |        +- SwitchArrowBranch[@Default = false]
         |     |           +- SwitchLabel[@Default = false, @PatternLabel = true]
         |     |           |  +- TypePattern[@EffectiveVisibility = Visibility.V_PACKAGE, @Visibility = Visibility.V_PACKAGE]
         |     |           |     +- ModifierList[@EffectiveModifiers = (), @ExplicitModifiers = ()]
         |     |           |     +- PrimitiveType[@Kind = PrimitiveTypeKind.FLOAT]
         |     |           |     +- VariableId[@ArrayType = false, @EffectiveVisibility = Visibility.V_LOCAL, @EnumConstant = false, @ExceptionBlockParameter = false, @Field = false, @Final = false, @ForLoopVariable = false, @ForeachVariable = false, @FormalParameter = false, @LambdaParameter = false, @LocalVariable = false, @Name = "x", @PatternBinding = true, @RecordComponent = false, @ResourceDeclaration = false, @Static = false, @TypeInferred = false, @Unnamed = false, @Visibility = Visibility.V_LOCAL]
         |     |           +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.ADD, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |              +- NumericLiteral[@Base = 10, @CompileTimeConstant = true, @DoubleLiteral = false, @FloatLiteral = true, @Image = "7f", @IntLiteral = false, @Integral = false, @LiteralText = "7f", @LongLiteral = false, @ParenthesisDepth = 0, @Parenthesized = false, @ValueAsDouble = 7.0, @ValueAsFloat = 7.0, @ValueAsInt = 7, @ValueAsLong = 7]
         |     |              +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "x", @Name = "x", @ParenthesisDepth = 0, @Parenthesized = false]
         |     +- ExpressionStatement[]
         |     |  +- MethodCall[@CompileTimeConstant = false, @Image = "println", @MethodName = "println", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     +- FieldAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "out", @Name = "out", @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     |  +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |     |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "System"]
         |     |     +- ArgumentList[@Empty = false, @Size = 1]
         |     |        +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.ADD, @ParenthesisDepth = 0, @Parenthesized = false]
         |     |           +- StringLiteral[@CompileTimeConstant = true, @ConstValue = "f = ", @Empty = false, @Image = "\"f = \"", @Length = 4, @LiteralText = "\"f = \"", @ParenthesisDepth = 0, @Parenthesized = false, @TextBlock = false]
         |     |           +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "f", @Name = "f", @ParenthesisDepth = 0, @Parenthesized = false]
         |     +- LocalVariableDeclaration[@EffectiveVisibility = Visibility.V_LOCAL, @Final = false, @TypeInferred = false, @Visibility = Visibility.V_LOCAL]
         |     |  +- ModifierList[@EffectiveModifiers = (), @ExplicitModifiers = ()]
         |     |  +- PrimitiveType[@Kind = PrimitiveTypeKind.BOOLEAN]
         |     |  +- VariableDeclarator[@Initializer = true, @Name = "b"]
         |     |     +- VariableId[@ArrayType = false, @EffectiveVisibility = Visibility.V_LOCAL, @EnumConstant = false, @ExceptionBlockParameter = false, @Field = false, @Final = false, @ForLoopVariable = false, @ForeachVariable = false, @FormalParameter = false, @LambdaParameter = false, @LocalVariable = true, @Name = "b", @PatternBinding = false, @RecordComponent = false, @ResourceDeclaration = false, @Static = false, @TypeInferred = false, @Unnamed = false, @Visibility = Visibility.V_LOCAL]
         |     |     +- BooleanLiteral[@CompileTimeConstant = true, @LiteralText = "true", @ParenthesisDepth = 0, @Parenthesized = false, @True = true]
         |     +- SwitchStatement[@DefaultCase = false, @EnumSwitch = false, @ExhaustiveEnumSwitch = false, @FallthroughSwitch = false]
         |        +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "b", @Name = "b", @ParenthesisDepth = 0, @Parenthesized = false]
         |        +- SwitchArrowBranch[@Default = false]
         |        |  +- SwitchLabel[@Default = false, @PatternLabel = false]
         |        |  |  +- BooleanLiteral[@CompileTimeConstant = true, @LiteralText = "true", @ParenthesisDepth = 0, @Parenthesized = false, @True = true]
         |        |  +- MethodCall[@CompileTimeConstant = false, @Image = "println", @MethodName = "println", @ParenthesisDepth = 0, @Parenthesized = false]
         |        |     +- FieldAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "out", @Name = "out", @ParenthesisDepth = 0, @Parenthesized = false]
         |        |     |  +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |        |     |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "System"]
         |        |     +- ArgumentList[@Empty = false, @Size = 1]
         |        |        +- StringLiteral[@CompileTimeConstant = true, @ConstValue = "b was true", @Empty = false, @Image = "\"b was true\"", @Length = 10, @LiteralText = "\"b was true\"", @ParenthesisDepth = 0, @Parenthesized = false, @TextBlock = false]
         |        +- SwitchArrowBranch[@Default = false]
         |           +- SwitchLabel[@Default = false, @PatternLabel = false]
         |           |  +- BooleanLiteral[@CompileTimeConstant = true, @LiteralText = "false", @ParenthesisDepth = 0, @Parenthesized = false, @True = false]
         |           +- MethodCall[@CompileTimeConstant = false, @Image = "println", @MethodName = "println", @ParenthesisDepth = 0, @Parenthesized = false]
         |              +- FieldAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "out", @Name = "out", @ParenthesisDepth = 0, @Parenthesized = false]
         |              |  +- TypeExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |              |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "System"]
         |              +- ArgumentList[@Empty = false, @Size = 1]
         |                 +- StringLiteral[@CompileTimeConstant = true, @ConstValue = "b was false", @Empty = false, @Image = "\"b was false\"", @Length = 11, @LiteralText = "\"b was false\"", @ParenthesisDepth = 0, @Parenthesized = false, @TextBlock = false]
         +- MethodDeclaration[@Abstract = false, @Arity = 1, @EffectiveVisibility = Visibility.V_PUBLIC, @Final = false, @MainMethod = true, @Name = "main", @Overridden = false, @Static = true, @Varargs = false, @Visibility = Visibility.V_PUBLIC, @Void = true]
            +- ModifierList[@EffectiveModifiers = (JModifier.PUBLIC, JModifier.STATIC), @ExplicitModifiers = (JModifier.PUBLIC, JModifier.STATIC)]
            +- VoidType[]
            +- FormalParameters[@Empty = false, @Size = 1]
            |  +- FormalParameter[@EffectiveVisibility = Visibility.V_LOCAL, @Final = false, @Varargs = false, @Visibility = Visibility.V_LOCAL]
            |     +- ModifierList[@EffectiveModifiers = (), @ExplicitModifiers = ()]
            |     +- ArrayType[@ArrayDepth = 1]
            |     |  +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "String"]
            |     |  +- ArrayDimensions[@Empty = false, @Size = 1]
            |     |     +- ArrayTypeDim[@Varargs = false]
            |     +- VariableId[@ArrayType = true, @EffectiveVisibility = Visibility.V_LOCAL, @EnumConstant = false, @ExceptionBlockParameter = false, @Field = false, @Final = false, @ForLoopVariable = false, @ForeachVariable = false, @FormalParameter = true, @LambdaParameter = false, @LocalVariable = false, @Name = "args", @PatternBinding = false, @RecordComponent = false, @ResourceDeclaration = false, @Static = false, @TypeInferred = false, @Unnamed = false, @Visibility = Visibility.V_LOCAL]
            +- Block[@Empty = false, @Size = 4, @containsComment = false]
               +- ExpressionStatement[]
               |  +- MethodCall[@CompileTimeConstant = false, @Image = "instanceofWithPrimitiveTypes", @MethodName = "instanceofWithPrimitiveTypes", @ParenthesisDepth = 0, @Parenthesized = false]
               |     +- ArgumentList[@Empty = true, @Size = 0]
               +- ExpressionStatement[]
               |  +- MethodCall[@CompileTimeConstant = false, @Image = "primitiveTypePatternsInInstanceof", @MethodName = "primitiveTypePatternsInInstanceof", @ParenthesisDepth = 0, @Parenthesized = false]
               |     +- ArgumentList[@Empty = true, @Size = 0]
               +- ExpressionStatement[]
               |  +- MethodCall[@CompileTimeConstant = false, @Image = "primitiveTypePatternsInSwitch", @MethodName = "primitiveTypePatternsInSwitch", @ParenthesisDepth = 0, @Parenthesized = false]
               |     +- ArgumentList[@Empty = true, @Size = 0]
               +- ExpressionStatement[]
                  +- MethodCall[@CompileTimeConstant = false, @Image = "expandedPrimitiveSupportInSwitch", @MethodName = "expandedPrimitiveSupportInSwitch", @ParenthesisDepth = 0, @Parenthesized = false]
                     +- ArgumentList[@Empty = true, @Size = 0]
