code: private void enlargeCapacity(int key) {
  	int diff = offCount - offset;
  
  	int newSize = arr.length;
  	if (newSize < 1) newSize = 1;
  	while (newSize < key + offset + diff) {
  	    newSize *= 2;
  	}
  	if (newSize > arr.length) {
  	    Object[] na = new Object[newSize];
  	    for (int i = offset; i < offset + size; i++) {
  		na[i + diff] = arr[i];
  	    }
  	    arr = na;
  	    offset += diff;
  	}
      }
docs: !!! all methods that use this method must be sync enlarge the inner array to given size
  
  @param key min size of the array