code: public BitVector resizedCopy(int newSize, boolean anchorLeft) {
  		if (newSize < 0) throw new IllegalArgumentException();
  		final int size = finish - start;
  		if (newSize == size) return duplicate(true, true);
  		int from;
  		int to;
  		if (anchorLeft) {
  			from = size - newSize;
  			to = size;
  		} else {
  			from = 0;
  			to = newSize;
  		}
  		if (newSize < size) return new BitVector(start + from, start + to, bits, mutable).duplicate(true, true);
  		final BitVector copy = new BitVector(newSize);
  		copy.perform(SET, -from, this);
  		return copy;
  	}
docs: Creates a mutable copy of this {@link BitVector} that may have a
  different size.
  
  @param newSize
  the size of the returned {@link BitVector}
  @param anchorLeft
  true if the most-significant bit of this {@link BitVector}
  remains the most-significant bit of the returned
  {@link BitVector}, false if the least-significant bit of this
  {@link BitVector} remains the least-significant bit of the
  returned {@link BitVector}.
  @return a resized mutable copy of this {@link BitVector}