public function copy(BitArray $bits, $index = 0, $offset = 0, $size = null)
	{
		$index = $this->getRealOffset($index);
		$offset = $bits->getRealOffset($offset);
		$size = $bits->getRealSize($offset, $size);

		if ($size > $this->size - $index)
		{
			$size = $this->size - $index;
		}

		return $this->directCopy($bits, $index, $offset, $size);
	}