protected function delete($key)
    {
        if ($this->before($key) === null || $this->before($key) === '') {
            return false;
        }

        $this->differ->setRenderer(new Renderers\Delete);

        $value = $this->after($key)
                    ? $this->differ->render($this->before($key), $this->after($key))
                    : $this->before($key);

        $diff = [
            'key' => $key,
            'value' => $value,
            'type' => 'delete',
        ];

        return (object) $diff;
    }