+- CompilationUnit[@PackageName = ""]
   +- ClassDeclaration[@Abstract = false, @Annotation = false, @Anonymous = false, @BinaryName = "Bug1429", @CanonicalName = "Bug1429", @EffectiveVisibility = Visibility.V_PUBLIC, @Enum = false, @Final = false, @Interface = false, @Local = false, @Nested = false, @PackageName = "", @Record = false, @RegularClass = true, @RegularInterface = false, @SimpleName = "Bug1429", @Static = false, @TopLevel = true, @UnnamedToplevelClass = false, @Visibility = Visibility.V_PUBLIC]
      +- ModifierList[@EffectiveModifiers = (JModifier.PUBLIC), @ExplicitModifiers = (JModifier.PUBLIC)]
      +- ClassBody[@Empty = false, @Size = 1]
         +- MethodDeclaration[@Abstract = false, @Arity = 0, @EffectiveVisibility = Visibility.V_PUBLIC, @Final = false, @Name = "getAttributeTuples", @Overridden = false, @Static = false, @Varargs = false, @Visibility = Visibility.V_PUBLIC, @Void = false]
            +- ModifierList[@EffectiveModifiers = (JModifier.PUBLIC), @ExplicitModifiers = (JModifier.PUBLIC)]
            +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "Set"]
            |  +- TypeArguments[@Diamond = false, @Empty = false, @Size = 1]
            |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "String"]
            +- FormalParameters[@Empty = true, @Size = 0]
            +- Block[@Empty = false, @Size = 1, @containsComment = false]
               +- ReturnStatement[]
                  +- CastExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
                     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "Set"]
                     |  +- TypeArguments[@Diamond = false, @Empty = false, @Size = 1]
                     |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "String"]
                     +- ConditionalExpression[@CompileTimeConstant = false, @ParenthesisDepth = 1, @Parenthesized = true]
                        +- InfixExpression[@CompileTimeConstant = false, @Operator = BinaryOp.EQ, @ParenthesisDepth = 0, @Parenthesized = false]
                        |  +- FieldAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "attributes", @Name = "attributes", @ParenthesisDepth = 0, @Parenthesized = false]
                        |  |  +- ThisExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
                        |  +- NullLiteral[@CompileTimeConstant = false, @LiteralText = "null", @ParenthesisDepth = 0, @Parenthesized = false]
                        +- MethodCall[@CompileTimeConstant = false, @Image = "emptySet", @MethodName = "emptySet", @ParenthesisDepth = 0, @Parenthesized = false]
                        |  +- AmbiguousName[@CompileTimeConstant = false, @Image = "Collections", @Name = "Collections", @ParenthesisDepth = 0, @Parenthesized = false]
                        |  +- TypeArguments[@Diamond = false, @Empty = false, @Size = 1]
                        |  |  +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "String"]
                        |  +- ArgumentList[@Empty = true, @Size = 0]
                        +- ConstructorCall[@AnonymousClass = false, @CompileTimeConstant = false, @DiamondTypeArgs = false, @MethodName = "new", @ParenthesisDepth = 0, @Parenthesized = false, @QualifiedInstanceCreation = false]
                           +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "HashSet"]
                           |  +- TypeArguments[@Diamond = false, @Empty = false, @Size = 1]
                           |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "String"]
                           +- ArgumentList[@Empty = false, @Size = 1]
                              +- MethodCall[@CompileTimeConstant = false, @Image = "collect", @MethodName = "collect", @ParenthesisDepth = 0, @Parenthesized = false]
                                 +- AmbiguousName[@CompileTimeConstant = false, @Image = "CollectionUtils", @Name = "CollectionUtils", @ParenthesisDepth = 0, @Parenthesized = false]
                                 +- ArgumentList[@Empty = false, @Size = 2]
                                    +- MethodCall[@CompileTimeConstant = false, @Image = "keySet", @MethodName = "keySet", @ParenthesisDepth = 0, @Parenthesized = false]
                                    |  +- FieldAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "attributes", @Name = "attributes", @ParenthesisDepth = 0, @Parenthesized = false]
                                    |  |  +- ThisExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
                                    |  +- ArgumentList[@Empty = true, @Size = 0]
                                    +- ConstructorCall[@AnonymousClass = true, @CompileTimeConstant = false, @DiamondTypeArgs = false, @MethodName = "new", @ParenthesisDepth = 0, @Parenthesized = false, @QualifiedInstanceCreation = false]
                                       +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "Transformer"]
                                       +- ArgumentList[@Empty = true, @Size = 0]
                                       +- AnonymousClassDeclaration[@Abstract = false, @Annotation = false, @Anonymous = true, @BinaryName = "Bug1429$1", @CanonicalName = null, @EffectiveVisibility = Visibility.V_ANONYMOUS, @Enum = false, @Final = false, @Interface = false, @Local = false, @Nested = false, @PackageName = "", @Record = false, @RegularClass = false, @RegularInterface = false, @SimpleName = "", @Static = false, @TopLevel = false, @UnnamedToplevelClass = false, @Visibility = Visibility.V_ANONYMOUS]
                                          +- ModifierList[@EffectiveModifiers = (), @ExplicitModifiers = ()]
                                          +- ClassBody[@Empty = false, @Size = 1]
                                             +- MethodDeclaration[@Abstract = false, @Arity = 1, @EffectiveVisibility = Visibility.V_ANONYMOUS, @Final = false, @Name = "transform", @Overridden = true, @Static = false, @Varargs = false, @Visibility = Visibility.V_PUBLIC, @Void = false]
                                                +- ModifierList[@EffectiveModifiers = (JModifier.PUBLIC), @ExplicitModifiers = (JModifier.PUBLIC)]
                                                |  +- Annotation[@SimpleName = "Override"]
                                                |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "Override"]
                                                +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "Object"]
                                                +- FormalParameters[@Empty = false, @Size = 1]
                                                |  +- FormalParameter[@EffectiveVisibility = Visibility.V_LOCAL, @Final = true, @Varargs = false, @Visibility = Visibility.V_LOCAL]
                                                |     +- ModifierList[@EffectiveModifiers = (JModifier.FINAL), @ExplicitModifiers = (JModifier.FINAL)]
                                                |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "Object"]
                                                |     +- VariableId[@ArrayType = false, @EffectiveVisibility = Visibility.V_LOCAL, @EnumConstant = false, @ExceptionBlockParameter = false, @Field = false, @Final = true, @ForLoopVariable = false, @ForeachVariable = false, @FormalParameter = true, @LambdaParameter = false, @LocalVariable = false, @Name = "obj", @PatternBinding = false, @RecordComponent = false, @ResourceDeclaration = false, @Static = false, @TypeInferred = false, @Unnamed = false, @Visibility = Visibility.V_LOCAL]
                                                +- Block[@Empty = false, @Size = 5, @containsComment = false]
                                                   +- LocalVariableDeclaration[@EffectiveVisibility = Visibility.V_LOCAL, @Final = true, @TypeInferred = false, @Visibility = Visibility.V_LOCAL]
                                                   |  +- ModifierList[@EffectiveModifiers = (JModifier.FINAL), @ExplicitModifiers = (JModifier.FINAL)]
                                                   |  +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "String"]
                                                   |  +- VariableDeclarator[@Initializer = true, @Name = "key"]
                                                   |     +- VariableId[@ArrayType = false, @EffectiveVisibility = Visibility.V_LOCAL, @EnumConstant = false, @ExceptionBlockParameter = false, @Field = false, @Final = true, @ForLoopVariable = false, @ForeachVariable = false, @FormalParameter = false, @LambdaParameter = false, @LocalVariable = true, @Name = "key", @PatternBinding = false, @RecordComponent = false, @ResourceDeclaration = false, @Static = false, @TypeInferred = false, @Unnamed = false, @Visibility = Visibility.V_LOCAL]
                                                   |     +- CastExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
                                                   |        +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "String"]
                                                   |        +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "obj", @Name = "obj", @ParenthesisDepth = 0, @Parenthesized = false]
                                                   +- LocalVariableDeclaration[@EffectiveVisibility = Visibility.V_LOCAL, @Final = true, @TypeInferred = false, @Visibility = Visibility.V_LOCAL]
                                                   |  +- ModifierList[@EffectiveModifiers = (JModifier.FINAL), @ExplicitModifiers = (JModifier.FINAL)]
                                                   |  +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "String"]
                                                   |  +- VariableDeclarator[@Initializer = true, @Name = "value"]
                                                   |     +- VariableId[@ArrayType = false, @EffectiveVisibility = Visibility.V_LOCAL, @EnumConstant = false, @ExceptionBlockParameter = false, @Field = false, @Final = true, @ForLoopVariable = false, @ForeachVariable = false, @FormalParameter = false, @LambdaParameter = false, @LocalVariable = true, @Name = "value", @PatternBinding = false, @RecordComponent = false, @ResourceDeclaration = false, @Static = false, @TypeInferred = false, @Unnamed = false, @Visibility = Visibility.V_LOCAL]
                                                   |     +- MethodCall[@CompileTimeConstant = false, @Image = "get", @MethodName = "get", @ParenthesisDepth = 0, @Parenthesized = false]
                                                   |        +- FieldAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "attributes", @Name = "attributes", @ParenthesisDepth = 0, @Parenthesized = false]
                                                   |        |  +- ThisExpression[@CompileTimeConstant = false, @ParenthesisDepth = 0, @Parenthesized = false]
                                                   |        |     +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "HGXLIFFTypeConfiguration"]
                                                   |        +- ArgumentList[@Empty = false, @Size = 1]
                                                   |           +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "key", @Name = "key", @ParenthesisDepth = 0, @Parenthesized = false]
                                                   +- LocalVariableDeclaration[@EffectiveVisibility = Visibility.V_LOCAL, @Final = false, @TypeInferred = false, @Visibility = Visibility.V_LOCAL]
                                                   |  +- ModifierList[@EffectiveModifiers = (), @ExplicitModifiers = ()]
                                                   |  +- ClassType[@FullyQualified = false, @PackageQualifier = null, @SimpleName = "String"]
                                                   |  +- VariableDeclarator[@Initializer = true, @Name = "result"]
                                                   |     +- 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 = "result", @PatternBinding = false, @RecordComponent = false, @ResourceDeclaration = false, @Static = false, @TypeInferred = false, @Unnamed = false, @Visibility = Visibility.V_LOCAL]
                                                   |     +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "key", @Name = "key", @ParenthesisDepth = 0, @Parenthesized = false]
                                                   +- IfStatement[@Else = false]
                                                   |  +- MethodCall[@CompileTimeConstant = false, @Image = "isNotEmpty", @MethodName = "isNotEmpty", @ParenthesisDepth = 0, @Parenthesized = false]
                                                   |  |  +- AmbiguousName[@CompileTimeConstant = false, @Image = "StringUtils", @Name = "StringUtils", @ParenthesisDepth = 0, @Parenthesized = false]
                                                   |  |  +- ArgumentList[@Empty = false, @Size = 1]
                                                   |  |     +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "value", @Name = "value", @ParenthesisDepth = 0, @Parenthesized = false]
                                                   |  +- Block[@Empty = false, @Size = 1, @containsComment = false]
                                                   |     +- ExpressionStatement[]
                                                   |        +- AssignmentExpression[@CompileTimeConstant = false, @Compound = false, @Operator = AssignmentOp.ASSIGN, @ParenthesisDepth = 0, @Parenthesized = false]
                                                   |           +- VariableAccess[@AccessType = AccessType.WRITE, @CompileTimeConstant = false, @Image = "result", @Name = "result", @ParenthesisDepth = 0, @Parenthesized = false]
                                                   |           +- MethodCall[@CompileTimeConstant = false, @Image = "concat", @MethodName = "concat", @ParenthesisDepth = 0, @Parenthesized = false]
                                                   |              +- MethodCall[@CompileTimeConstant = false, @Image = "concat", @MethodName = "concat", @ParenthesisDepth = 0, @Parenthesized = false]
                                                   |              |  +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "result", @Name = "result", @ParenthesisDepth = 0, @Parenthesized = false]
                                                   |              |  +- ArgumentList[@Empty = false, @Size = 1]
                                                   |              |     +- StringLiteral[@CompileTimeConstant = true, @ConstValue = ":", @Empty = false, @Image = "\":\"", @Length = 1, @LiteralText = "\":\"", @ParenthesisDepth = 0, @Parenthesized = false, @TextBlock = false]
                                                   |              +- ArgumentList[@Empty = false, @Size = 1]
                                                   |                 +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "value", @Name = "value", @ParenthesisDepth = 0, @Parenthesized = false]
                                                   +- ReturnStatement[]
                                                      +- VariableAccess[@AccessType = AccessType.READ, @CompileTimeConstant = false, @Image = "result", @Name = "result", @ParenthesisDepth = 0, @Parenthesized = false]
