Hi,

Created a generic cache wrapper for objects to cache their methods response, which looks like this:

    $key = $this->key($arguments, $name);
    if ($cached = $this->cache->exists($key)) {
        $this->di->get('logger')->info(sprintf('Cached hit (%s : %s)',
            get_class($this->object), $name));

        return $this->cache->get($key);
    }

    $result = call_user_func_array([ $this->object, $name ], $arguments);

    $this->cache->save($key, $result, $this->lifetime);

When $result is empty array(), second method call returns null from if statement using $this->cache->get(). Checked keys, long story short, same keys different cached content. Should I report it as a bug? Using 2.0.7.