+- CompilationUnit[@Compact = false, @PackageName = ""]
   +- ImportDeclaration[@ImportOnDemand = false, @ImportedName = "java.util.concurrent.Callable", @ImportedSimpleName = "Callable", @ModuleImport = false, @PackageName = "java.util.concurrent", @Static = false]
   +- ClassDeclaration[@Abstract = false, @Annotation = false, @Anonymous = false, @BinaryName = "A", @CanonicalName = "A", @EffectiveVisibility = Visibility.V_PACKAGE, @Enum = false, @Final = false, @Interface = false, @Local = false, @Nested = false, @PackageName = "", @Record = false, @RegularClass = true, @RegularInterface = false, @SimpleName = "A", @Static = false, @TopLevel = true, @UnnamedToplevelClass = false, @Visibility = Visibility.V_PACKAGE]
   |  +- ModifierList[@EffectiveModifiers = (), @ExplicitModifiers = ()]
   |  +- ClassBody[@Empty = false, @Size = 1]
   |     +- ConstructorDeclaration[@Abstract = false, @Arity = 1, @EffectiveVisibility = Visibility.V_PACKAGE, @Final = false, @Image = "A", @Name = "A", @Static = false, @Varargs = false, @Visibility = Visibility.V_PACKAGE, @containsComment = false]
   |        +- ModifierList[@EffectiveModifiers = (), @ExplicitModifiers = ()]
   |        +- FormalParameters[@Empty = false, @Size = 1]
   |        |  +- FormalParameter[@EffectiveVisibility = Visibility.V_LOCAL, @Final = false, @Varargs = false, @Visibility = Visibility.V_LOCAL]
   |        |     +- ModifierList[@EffectiveModifiers = (), @ExplicitModifiers = ()]
   |        |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "Callable"]
   |        |     |  +- TypeArguments[@Diamond = false, @Empty = false, @Size = 1]
   |        |     |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "Boolean"]
   |        |     +- VariableId[@ArrayType = false, @EffectiveVisibility = Visibility.V_LOCAL, @EnumConstant = false, @ExceptionBlockParameter = false, @Field = false, @Final = false, @ForLoopVariable = false, @ForeachVariable = false, @FormalParameter = true, @LambdaParameter = false, @LocalVariable = false, @Name = "x", @PatternBinding = false, @RecordComponent = false, @ResourceDeclaration = false, @Static = false, @TypeInferred = false, @Unnamed = false, @Visibility = Visibility.V_LOCAL]
   |        +- Block[@Empty = true, @Size = 0, @containsComment = false]
   +- ClassDeclaration[@Abstract = false, @Annotation = false, @Anonymous = false, @BinaryName = "B", @CanonicalName = "B", @EffectiveVisibility = Visibility.V_PACKAGE, @Enum = false, @Final = false, @Interface = false, @Local = false, @Nested = false, @PackageName = "", @Record = false, @RegularClass = true, @RegularInterface = false, @SimpleName = "B", @Static = false, @TopLevel = true, @UnnamedToplevelClass = false, @Visibility = Visibility.V_PACKAGE]
      +- ModifierList[@EffectiveModifiers = (), @ExplicitModifiers = ()]
      +- ExtendsList[@Empty = false, @Size = 1]
      |  +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "A"]
      +- ClassBody[@Empty = false, @Size = 2]
         +- FieldDeclaration[@EffectiveVisibility = Visibility.V_PRIVATE, @Static = true, @Visibility = Visibility.V_PRIVATE]
         |  +- ModifierList[@EffectiveModifiers = (JModifier.PRIVATE, JModifier.STATIC, JModifier.FINAL), @ExplicitModifiers = (JModifier.PRIVATE, JModifier.STATIC, JModifier.FINAL)]
         |  +- PrimitiveType[@Kind = PrimitiveTypeKind.INT]
         |  +- VariableDeclarator[@Initializer = true, @Name = "X"]
         |     +- VariableId[@ArrayType = false, @EffectiveVisibility = Visibility.V_PRIVATE, @EnumConstant = false, @ExceptionBlockParameter = false, @Field = true, @Final = true, @ForLoopVariable = false, @ForeachVariable = false, @FormalParameter = false, @LambdaParameter = false, @LocalVariable = false, @Name = "X", @PatternBinding = false, @RecordComponent = false, @ResourceDeclaration = false, @Static = true, @TypeInferred = false, @Unnamed = false, @Visibility = Visibility.V_PRIVATE]
         |     +- NumericLiteral[@Base = 10, @CompileTimeConstant = true, @DoubleLiteral = false, @FloatLiteral = false, @Image = "1", @IntLiteral = true, @Integral = true, @LiteralText = "1", @LongLiteral = false, @ParenthesisDepth = 0, @Parenthesized = false, @ValueAsDouble = 1.0, @ValueAsFloat = 1.0, @ValueAsInt = 1, @ValueAsLong = 1]
         +- ConstructorDeclaration[@Abstract = false, @Arity = 0, @EffectiveVisibility = Visibility.V_PACKAGE, @Final = false, @Image = "B", @Name = "B", @Static = false, @Varargs = false, @Visibility = Visibility.V_PACKAGE, @containsComment = false]
            +- ModifierList[@EffectiveModifiers = (), @ExplicitModifiers = ()]
            +- FormalParameters[@Empty = true, @Size = 0]
            +- Block[@Empty = false, @Size = 1, @containsComment = false]
               +- ExplicitConstructorInvocation[@ArgumentCount = 1, @MethodName = "new", @Qualified = false, @Super = true, @This = false]
                  +- ArgumentList[@Empty = false, @Size = 1]
                     +- LambdaExpression[@Arity = 0, @BlockBody = true, @CompileTimeConstant = false, @ExplicitlyTyped = true, @ExpressionBody = false, @ParenthesisDepth = 0, @Parenthesized = false]
                        +- LambdaParameterList[@Empty = true, @Size = 0]
                        +- Block[@Empty = false, @Size = 1, @containsComment = false]
                           +- ReturnStatement[]
                              +- SwitchExpression[@CompileTimeConstant = false, @DefaultCase = true, @EnumSwitch = false, @Exhaustive = false, @ExhaustiveEnumSwitch = false, @FallthroughSwitch = false, @NullTolerant = false, @ParenthesisDepth = 0, @Parenthesized = false]
                                 +- NumericLiteral[@Base = 10, @CompileTimeConstant = true, @DoubleLiteral = false, @FloatLiteral = false, @Image = "1", @IntLiteral = true, @Integral = true, @LiteralText = "1", @LongLiteral = false, @ParenthesisDepth = 0, @Parenthesized = false, @ValueAsDouble = 1.0, @ValueAsFloat = 1.0, @ValueAsInt = 1, @ValueAsLong = 1]
                                 +- SwitchArrowBranch[@Default = false]
                                 |  +- SwitchLabel[@CaseNull = false, @Default = false, @PatternLabel = false]
                                 |  |  +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = true, @Image = "X", @Name = "X", @ParenthesisDepth = 0, @Parenthesized = false]
                                 |  +- BooleanLiteral[@CompileTimeConstant = true, @LiteralText = "true", @ParenthesisDepth = 0, @Parenthesized = false, @True = true]
                                 +- SwitchArrowBranch[@Default = true]
                                    +- SwitchLabel[@CaseNull = false, @Default = true, @PatternLabel = false]
                                    +- BooleanLiteral[@CompileTimeConstant = true, @LiteralText = "false", @ParenthesisDepth = 0, @Parenthesized = false, @True = false]
