question: private static char [ ] growBuffer ( char [ ] dest , int index , int size ) { char [ ] copy = new char [ size ] ; if ( index > 0 ) { System . arraycopy ( dest , 0 , copy , 0 , index ) ; } return copy ; }
target:  Helper method to grow the character buffer as needed, this only happens once in a while so it's ok if it's in a method call.  If the index passed in is 0 then no copying will be done.