/**
  * Link object to this object
  *
  * @param ProjectDataObject $object
  * @return LinkedObject
  */
 function linkObject(ApplicationDataObject $object)
 {
     $manager_class = get_class($this->manager());
     $object_id = $this->getObjectId();
     $linked_object = LinkedObjects::findById(array('rel_object_manager' => $manager_class, 'rel_object_id' => $object_id, 'object_id' => $object->getId(), 'object_manager' => get_class($object->manager())));
     // findById
     if ($linked_object instanceof LinkedObject) {
         return $linked_object;
         // Already linked
     } else {
         //check inverse link
         $linked_object = LinkedObjects::findById(array('rel_object_manager' => get_class($object->manager()), 'rel_object_id' => $object->getId(), 'object_id' => $object_id, 'object_manager' => $manager_class));
         // findById
         if ($linked_object instanceof LinkedObject) {
             return $linked_object;
             // Already linked
         }
     }
     // if
     $linked_object = new LinkedObject();
     $linked_object->setRelObjectManager($manager_class);
     $linked_object->setRelObjectId($object_id);
     $linked_object->setObjectId($object->getId());
     $linked_object->setObjectManager(get_class($object->manager()));
     $linked_object->save();
     /*  if(!$object->getIsVisible()) {
     		 $object->setIsVisible(true);
     		 $object->setExpirationTime(EMPTY_DATETIME);
     		 $object->save();
     	  } // if*/
     return $linked_object;
 }
 /**
  * Link object to this object
  *
  * @param ApplicationDataObject $object
  * @return LinkedObject
  */
 function linkObject(ApplicationDataObject $object)
 {
     $object_id = $this->getObjectId();
     $linked_object = LinkedObjects::findById(array('rel_object_id' => $object_id, 'object_id' => $object->getId()));
     // findById
     if ($linked_object instanceof LinkedObject) {
         return $linked_object;
         // Already linked
     } else {
         //check inverse link
         $linked_object = LinkedObjects::findById(array('rel_object_id' => $object->getId(), 'object_id' => $object_id));
         // findById
         if ($linked_object instanceof LinkedObject) {
             return $linked_object;
             // Already linked
         }
     }
     // if
     $linked_object = new LinkedObject();
     $linked_object->setRelObjectId($object_id);
     $linked_object->setObjectId($object->getId());
     $linked_object->save();
     return $linked_object;
 }