+- CompilationUnit[@PackageName = ""]
   +- ClassDeclaration[@Abstract = false, @Annotation = false, @Anonymous = false, @BinaryName = "Bug1333", @CanonicalName = "Bug1333", @EffectiveVisibility = Visibility.V_PACKAGE, @Enum = false, @Final = true, @Interface = false, @Local = false, @Nested = false, @PackageName = "", @Record = false, @RegularClass = true, @RegularInterface = false, @SimpleName = "Bug1333", @Static = false, @TopLevel = true, @UnnamedToplevelClass = false, @Visibility = Visibility.V_PACKAGE]
      +- ModifierList[@EffectiveModifiers = (JModifier.FINAL), @ExplicitModifiers = (JModifier.FINAL)]
      +- ClassBody[@Empty = false, @Size = 4]
         +- 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)]
         |  +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "Logger"]
         |  +- VariableDeclarator[@Initializer = true, @Name = "LOG"]
         |     +- 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 = "LOG", @PatternBinding = false, @RecordComponent = false, @ResourceDeclaration = false, @Static = true, @TypeInferred = false, @Unnamed = false, @Visibility = Visibility.V_PRIVATE]
         |     +- MethodCall[@CompileTimeConstant = false, @Image = "getLogger", @MethodName = "getLogger", @ParenthesisDepth = 0, @Parenthesized = false]
         |        +- AmbiguousName[@CompileTimeConstant = false, @Image = "LoggerFactory", @Name = "LoggerFactory", @ParenthesisDepth = 0, @Parenthesized = false]
         |        +- ArgumentList[@Empty = false, @Size = 1]
         |           +- ClassLiteral[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
         |              +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "Foo"]
         +- MethodDeclaration[@Abstract = false, @Arity = 0, @EffectiveVisibility = Visibility.V_PACKAGE, @Final = false, @Name = "deleteDirectoriesByNamePattern", @Overridden = false, @Static = false, @Varargs = false, @Visibility = Visibility.V_PUBLIC, @Void = true]
         |  +- ModifierList[@EffectiveModifiers = (JModifier.PUBLIC), @ExplicitModifiers = (JModifier.PUBLIC)]
         |  +- VoidType[]
         |  +- FormalParameters[@Empty = true, @Size = 0]
         |  +- Block[@Empty = false, @Size = 1, @containsComment = false]
         |     +- ExpressionStatement[]
         |        +- MethodCall[@CompileTimeConstant = false, @Image = "delete", @MethodName = "delete", @ParenthesisDepth = 0, @Parenthesized = false]
         |           +- ArgumentList[@Empty = false, @Size = 1]
         |              +- LambdaExpression[@Arity = 1, @BlockBody = false, @CompileTimeConstant = false, @ExplicitlyTyped = false, @ExpressionBody = true, @ParenthesisDepth = 0, @Parenthesized = false]
         |                 +- LambdaParameterList[@Empty = false, @Size = 1]
         |                 |  +- LambdaParameter[@EffectiveVisibility = Visibility.V_PACKAGE, @Final = false, @TypeInferred = true, @Visibility = Visibility.V_PACKAGE]
         |                 |     +- ModifierList[@EffectiveModifiers = (), @ExplicitModifiers = ()]
         |                 |     +- VariableId[@ArrayType = false, @EffectiveVisibility = Visibility.V_PACKAGE, @EnumConstant = false, @ExceptionBlockParameter = false, @Field = false, @Final = false, @ForLoopVariable = false, @ForeachVariable = false, @FormalParameter = true, @LambdaParameter = true, @LocalVariable = false, @Name = "path", @PatternBinding = false, @RecordComponent = false, @ResourceDeclaration = false, @Static = false, @TypeInferred = true, @Unnamed = false, @Visibility = Visibility.V_PACKAGE]
         |                 +- MethodCall[@CompileTimeConstant = false, @Image = "deleteDirectory", @MethodName = "deleteDirectory", @ParenthesisDepth = 0, @Parenthesized = false]
         |                    +- ArgumentList[@Empty = false, @Size = 1]
         |                       +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "path", @Name = "path", @ParenthesisDepth = 0, @Parenthesized = false]
         +- MethodDeclaration[@Abstract = false, @Arity = 1, @EffectiveVisibility = Visibility.V_PRIVATE, @Final = false, @Name = "delete", @Overridden = false, @Static = false, @Varargs = false, @Visibility = Visibility.V_PRIVATE, @Void = true]
         |  +- ModifierList[@EffectiveModifiers = (JModifier.PRIVATE), @ExplicitModifiers = (JModifier.PRIVATE)]
         |  +- VoidType[]
         |  +- 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 = "Consumer"]
         |  |     |  +- TypeArguments[@Diamond = false, @Empty = false, @Size = 1]
         |  |     |     +- WildcardType[@LowerBound = true, @UpperBound = false]
         |  |     |        +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "String"]
         |  |     +- 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 = "consumer", @PatternBinding = false, @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 = "debug", @MethodName = "debug", @ParenthesisDepth = 0, @Parenthesized = false]
         |           +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "LOG", @Name = "LOG", @ParenthesisDepth = 0, @Parenthesized = false]
         |           +- ArgumentList[@Empty = false, @Size = 1]
         |              +- MethodCall[@CompileTimeConstant = false, @Image = "toString", @MethodName = "toString", @ParenthesisDepth = 0, @Parenthesized = false]
         |                 +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "consumer", @Name = "consumer", @ParenthesisDepth = 0, @Parenthesized = false]
         |                 +- ArgumentList[@Empty = true, @Size = 0]
         +- MethodDeclaration[@Abstract = false, @Arity = 1, @EffectiveVisibility = Visibility.V_PRIVATE, @Final = false, @Name = "deleteDirectory", @Overridden = false, @Static = false, @Varargs = false, @Visibility = Visibility.V_PRIVATE, @Void = true]
            +- ModifierList[@EffectiveModifiers = (JModifier.PRIVATE), @ExplicitModifiers = (JModifier.PRIVATE)]
            +- VoidType[]
            +- 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 = "String"]
            |     +- 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 = "path", @PatternBinding = false, @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 = "debug", @MethodName = "debug", @ParenthesisDepth = 0, @Parenthesized = false]
                     +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "LOG", @Name = "LOG", @ParenthesisDepth = 0, @Parenthesized = false]
                     +- ArgumentList[@Empty = false, @Size = 1]
                        +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "path", @Name = "path", @ParenthesisDepth = 0, @Parenthesized = false]
