destroy key entry in object data, or whole keys
automatically set data to original array

@param string|null $key
@return $this
194634
public function destroy($key = null)
    {
        if (is_null($key)) {
            $this->_dataChanged  = true;
            $mergedData          = array_merge($this->_DATA, $this->_originalDATA);
            $this->_originalDATA = $this->_removeNewKeys($mergedData);
            $this->_DATA         = [];

        } elseif (array_key_exists($key, $this->_DATA)) {
            $this->_dataChanged = true;

            if (!array_key_exists($key, $this->_originalDATA)
                && !array_key_exists($key, $this->_newKeys)
            ) {
                $this->_originalDATA[$key] = $this->_DATA[$key];
            }

            unset ($this->_DATA[$key]);
        }

        return $this;
    }
1246891
public function remove($key)
    {
        if (isset($this->fields[$key])) {
            unset($this->fields[$key]);
        }
        return $this;
    }
763612
public function remove(string $key): self
    {
        $this->data = Arr::remove($this->data, $key);
        return $this;
    }
625370
public function delete(string $key): self
    {
        $driver = $this->getDriver();
        $driver->delete($key);
        if ($this->hasEventListeners('itemDelete')) {
            $this->dispatchEvent('itemDelete', new \BearFramework\App\Cache\ItemDeleteEventDetails($key));
        }
        if ($this->hasEventListeners('itemChange')) {
            $this->dispatchEvent('itemChange', new \BearFramework\App\Cache\ItemChangeEventDetails($key));
        }
        return $this;
    }
76444
public function forget($key = null)
    {
        $this->startSession();

        if ($key === null) {
            unset($_SESSION[$this->session_key][$this->name]);
        } else {
            unset($_SESSION[$this->session_key][$this->name][$key]);
        }

        return $this;
    }
1100734
public function remove($key)
    {
        unset($this->data[$key]);
        $this->response->removeCookie($key);
        return $this;
    }
36710
public function setData($data, $key = null)
	{
		if (is_array($data) && $key === null) {
			$this->data = $data;

			return $this;
		}

		if ($key === null)
			$key = 'data';

		$this->data[$key] = $data;

		return $this;
	}
1359652
protected function clearRemoval($key)
    {
        if (false === $this->willRemove($key)) {
            return $this;
        }
        $key = array_search($key, $this->remove);
        unset($this->remove[$key]);
        $this->remove = array_values($this->remove);
        return $this;
    }
337869
public function forget($key = null)
    {
        if (!session_id()) {
            $this->initializeSession(false);
        }

        if (is_null($key)) {
            unset($_SESSION['o'][$this->name]);
            unset($_SESSION['s'][$this->name]);
        } else {
            unset($_SESSION['o'][$this->name][$key]);
            unset($_SESSION['s'][$this->name][$key]);
        }

        return $this;
    }
898271
public function remove($key)
    {
        if (false === $this->willRemove($key)) {
            $this->clearChange($key);
            if (true === $this->hasOriginal($key)) {
                $this->remove[] = $key;
            }
        }
        return $this;
    }
450927
public function forget($key)
    {
        $this->checkLoaded();

        $this->unsaved = true;

        Arr::forget($this->data, $key);

        return $this;
    }
995813
protected function _removeKey($key)
    {
        $keys = $this->get('__stored_keys__', []);
        if (in_array($key, $keys)) {
            $reverse = array_flip($keys);
            unset($reverse[$key]);
            $this->set('__stored_keys__', array_keys($reverse));
        }
        return $this;
    }
1324419
public function key(string $key = null)
    {
        if ($key) {
            $this->field['key'] = $key;

            return $this;
        }

        return $this->field['key'];
    }
891896
public function releaseKey($key)
    {
        $this->executor->execute(DriverCommand::SEND_KEYS_TO_ACTIVE_ELEMENT, [
            'value' => [(string) $key],
        ]);

        return $this;
    }
1122041
public function remove(string $key)
    {
        if (isset($this->headers[$key])) {
            unset($this->headers[$key]);
        }

        return $this;
    }
889540
public function remove($key)
    {
        if ($this->has($key)) {
            $cont = clone $this;
            $cont->doRemove($key);

            return $cont;
        }

        return $this;
    }
370463
public function remove(string $key): KeyValueCollectionInterface
    {
        if ($this->has($key)) {
            unset($this->collection[$this->keyMap[strtolower($key)]], $this->keyMap[strtolower($key)]);
        }

        return $this;
    }