/**
  * Put instance to cache.
  *
  * @param mixed $key
  * @param Model $instance
  * @param array $attributes
  * @return Model
  */
 public function put($key, Model $instance, array $attributes = ['*'])
 {
     if ($attributes != ['*'] && $this->has($key)) {
         $instance = Model::merge($this->cache[$key]['instance'], $instance, $attributes);
         $attributes = array_merge($this->cache[$key]['attributes'], $attributes);
     }
     $this->cache[$key] = ['instance' => $instance, 'attributes' => $attributes];
     return $instance;
 }