public function merge($value)
    {
        $value = (self::cast($value, $this->type))->getInternalValue();

        $this->setInternalValue(array_merge($this->getInternalValue(), $value));

        return $this;
    }
public function merge($value)
    {
        $value = (self::cast($value, $this->type))->getInternalValue();

        $this->setInternalValue(array_merge($this->getInternalValue(), $value));

        return $this;
    }
public function merge ( $ value ) { $ value = ( self :: cast ( $ value , $ this -> type ) ) -> getInternalValue ( ) ; $ this -> setInternalValue ( array_merge ( $ this -> getInternalValue ( ) , $ value ) ) ; return $ this ; }
Modify the collection with the result of associating all keys of a given value with their corresponding
values, combined with the current instance.

Values of the current instance will be overwritten by those provided where keys are equal.

The values to merge must respect type restriction if is set

@param mixed $value Value to merge

@return $this
Modify the collection with the result of associating all keys of a given value with their corresponding values combined with the current instance .