public function pushToKey($key, $value)
    {
        if ( ! $this->has($key))
        {
            $this->set($key, []);
        }

        $keyValue = $this->get($key);

        if ($keyValue instanceof static)
        {
            $keyValue->push($value);
        }
        elseif (is_array($keyValue))
        {
            $keyValue[] = $value;
        }
        else
        {
            $this->set($key, [])->pushToKey($key, $keyValue);

            return $this;
        }

        $this->set($key, $keyValue);

        return $this;
    }