code: long[] toLongArray() {
  		// create array through an aligned copy
  		BitVector copy = alignedCopy();
  		long[] longs = copy.bits;
  		int length = longs.length;
  		if (length == 0) return longs;
  		// reverse the array
  		for (int i = 0, mid = length >> 1, j = length - 1; i < mid; i++, j--) {
  			long t = longs[i];
  			longs[i] = longs[j];
  			longs[j] = t;
  		}
  		// mask off top bits in case copy was produced via clone
  		final long mask = -1L >>> (ADDRESS_SIZE - copy.finish & ADDRESS_MASK);
  		longs[0] &= mask;
  		// return the result
  		return longs;
  	}
docs: NOTE: uncertain future