question: private void unshare ( int needExtra ) { int sharedLen = _inputLen ; _inputLen = 0 ; char [ ] inputBuf = _inputBuffer ; _inputBuffer = null ; int start = _inputStart ; _inputStart = - 1 ; int needed = sharedLen + needExtra ; if ( _currentSegment == null || needed > _currentSegment . length ) { _currentSegment = findBuffer ( needed ) ; } if ( sharedLen > 0 ) { System . arraycopy ( inputBuf , start , _currentSegment , 0 , sharedLen ) ; } _segmentSize = 0 ; _currentSize = sharedLen ; }
target:  Method called if/when we need to append content when we have been initialized to use shared buffer.