question: private final String [ ] _expandSeenNames ( String [ ] oldShared ) { int len = oldShared . length ; String [ ] newShared ; if ( len == 0 ) { newShared = _smileBufferRecycler . allocSeenNamesBuffer ( ) ; if ( newShared == null ) { newShared = new String [ SmileBufferRecycler . DEFAULT_NAME_BUFFER_LENGTH ] ; } } else if ( len == SmileConstants . MAX_SHARED_NAMES ) { newShared = oldShared ; _seenNameCount = 0 ; } else { int newSize = ( len == SmileBufferRecycler . DEFAULT_STRING_VALUE_BUFFER_LENGTH ) ? 256 : SmileConstants . MAX_SHARED_NAMES ; newShared = new String [ newSize ] ; System . arraycopy ( oldShared , 0 , newShared , 0 , oldShared . length ) ; } return newShared ; }
target:  Method called to try to expand shared name area to fit one more potentially shared String. If area is already at its biggest size, will just clear the area (by setting next-offset to 0)