public function offsetSet( $offset, $value ) {
        $temp = $this->values();

        if ( $this->has( $value ) === false ) {
            if ( is_null( $offset ) ) {
                $temp[] = $value;
            } else {
                $temp[ $offset ] = $value;
            }
        }

        $this->exchangeArray( $temp );

        $this->size = $this->count();
    }