original_string: public function directCopy(BitArray $bits, $index = 0, $offset = 0, $size = 0)
  	{
  		if ($offset > $index)
  		{
  			for ($i = 0; $i < $size; $i++)
  			{
  				$this[$i + $index] = $bits[$i + $offset];
  			}
  		}
  		else
  		{
  			for ($i = $size - 1; $i >= 0; $i--)
  			{
  				$this[$i + $index] = $bits[$i + $offset];
  			}
  		}
  
  		return $this;
  	}
code: public function directCopy(BitArray $bits, $index = 0, $offset = 0, $size = 0)
  	{
  		if ($offset > $index)
  		{
  			for ($i = 0; $i < $size; $i++)
  			{
  				$this[$i + $index] = $bits[$i + $offset];
  			}
  		}
  		else
  		{
  			for ($i = $size - 1; $i >= 0; $i--)
  			{
  				$this[$i + $index] = $bits[$i + $offset];
  			}
  		}
  
  		return $this;
  	}
code_tokens: public function directCopy ( BitArray $ bits , $ index = 0 , $ offset = 0 , $ size = 0 ) { if ( $ offset > $ index ) { for ( $ i = 0 ; $ i < $ size ; $ i ++ ) { $ this [ $ i + $ index ] = $ bits [ $ i + $ offset ] ; } } else { for ( $ i = $ size - 1 ; $ i >= 0 ; $ i -- ) { $ this [ $ i + $ index ] = $ bits [ $ i + $ offset ] ; } } return $ this ; }
docstring: Copy bits directly from a BitArray
  
  @param   BitArray  $bits    A BitArray to copy
  @param   int       $index   Starting index for destination
  @param   int       $offset  Starting index for copying
  @param   int       $size    Copy size
  
  @return  BitArray  This object for chaining
  
  @throw   \OutOfRangeException  Argument index must be an positive integer lesser than the size
  
  @since   1.1.0
docstring_tokens: Copy bits directly from a BitArray