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;
}

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 ; }
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 )
