function validate()
 {
     $result = parent::validate();
     $bookmarks = ShareThisOptions::get_page_specific_data("", "", "");
     if (!isset($bookmarks[$this->Title])) {
         $result->error(sprintf(_t('ShareThisDataObject.NON_EXISTING_TITLE', 'This social plaform "%s" does not exist.  Please change / delete the this entry.'), $this->Title));
     }
     return $result;
 }
 protected function makeBookmarks($field)
 {
     $finalBookmarks = array();
     $bookmarks = ShareThisOptions::get_page_specific_data($this->owner->Title, $this->owner->Link(), $this->owner->MetaDescription);
     $objects = ShareThisDataObject::get()->filter($field, 1)->sort(array('Sort' => 'ASC', 'Title' => 'ASC'));
     if ($objects->count()) {
         foreach ($objects as $obj) {
             if (isset($bookmarks[$obj->Title])) {
                 $finalBookmarks[$obj->Title] = $bookmarks[$obj->Title];
                 if ($obj->AlternativeIconID && $obj->AlternativeIcon()->exists()) {
                     $finalBookmarks[$obj->Title]['icon'] = $obj->AlternativeIcon()->Link();
                 }
             }
         }
     } else {
         $finalBookmarks = $bookmarks;
     }
     return $finalBookmarks;
 }