Changed to a truer implementation using a resizing array and copying chars to a String only on toString