public function clear($data, CMSForm $form)
 {
     if (isset($data['ToClear'])) {
         $cleared = array();
         foreach ($data['ToClear'] as $name) {
             $cache = $this->getCache($name);
             if ($cache) {
                 if (isset($data['Key']) && strlen($data['Key'])) {
                     $cache->delete($data['Key']);
                 } else {
                     $cache->clear();
                 }
                 $cleared[] = $name;
             }
         }
         $cleared = implode(',', $cleared);
         $form->sessionMessage("Cleared {$cleared}", 'good');
     } else {
         $form->sessionMessage("No caches cleared", 'good');
     }
     return $form->getResponseNegotiator()->respond($this->getRequest());
 }