protected function save(array &$keys, &$data, $value)
    {
        $key = array_shift($keys);

        if (! isset($data[$key]))
        {
            $data[$key] = array();
        }

        if (empty($keys))
        {
            return $data[$key] = $value;
        }

        return $this->save($keys, $data[$key], $value);
    }