         var byteIndex:uint;
         var endOfLine:uint;
 
-        var lines:Array = [ ];
-        var lineBuffer:Array = new Array(3);
+        var outputBuffer:StringBuilder = new StringBuilder();
 
         var valueString:String;
-        var valueBuffer:Array;
-        var valueBufferLength:uint = (bytesPerLine * 3) - 1;
+        var valueBuffer:StringBuilder = new StringBuilder();
+        var valueBufferLength:uint = (bytesPerLine * 3);
 
         var charCodeBuffer:Array;
         var nonPrintingCharCode:uint;


    public static function dumpDisplayTree(container:DisplayObjectContainer, maxDepth:int = 0):String
    {
        return new DisplayTreeDumper().dump(container, maxDepth);
    }


    public static function dumpObject(root:*, maxDepth:int = 3):String
    {
        return new ObjectDumper().dump(root, maxDepth);
    }



                }
            }

            outputBuffer.appendva(
                    StringUtil.padRight(
                        valueBuffer.toString(),
                        valueBufferLength, " "),
                    " ",
                    StringUtil.padRight(
                        String.fromCharCode.apply(String, charCodeBuffer),
                        bytesPerLine, " "),
                    "\n");
        }

        return outputBuffer.toString();
    }
}
}
