static function getArrayByCompanyIDAndObjectTypeIDAndObjectID($company_id, $object_type_id, $object_id)
 {
     $cgmlf = new CompanyGenericMapListFactory();
     $lf = $cgmlf->getByCompanyIDAndObjectTypeAndObjectID($company_id, $object_type_id, $object_id);
     return $cgmlf->getArrayByListFactory($lf);
 }
 static function setMapIDs($company_id, $object_type_id, $object_id, $ids, $is_new = FALSE)
 {
     if ($company_id == '') {
         return FALSE;
     }
     if ($object_type_id == '') {
         return FALSE;
     }
     if ($object_id == '') {
         return FALSE;
     }
     if ($ids == '') {
         return FALSE;
     }
     if (!is_array($ids) and is_numeric($ids)) {
         $ids = array($ids);
     }
     Debug::Arr($ids, 'Object Type ID: ' . $object_type_id . ' Object ID: ' . $object_id . ' IDs: ', __FILE__, __LINE__, __METHOD__, 10);
     if (is_array($ids)) {
         if ($is_new == FALSE) {
             //If needed, delete mappings first.
             $cgmlf = new CompanyGenericMapListFactory();
             $cgmlf->getByCompanyIDAndObjectTypeAndObjectID($company_id, $object_type_id, $object_id);
             $tmp_ids = array();
             foreach ($cgmlf as $obj) {
                 $id = $obj->getMapID();
                 Debug::text('Object Type ID: ' . $object_type_id . ' Object ID: ' . $obj->getObjectID() . ' ID: ' . $id, __FILE__, __LINE__, __METHOD__, 10);
                 //Delete objects that are not selected.
                 if (!in_array($id, $ids)) {
                     Debug::text('Deleting: ' . $id, __FILE__, __LINE__, __METHOD__, 10);
                     $obj->Delete();
                 } else {
                     //Save ID's that need to be updated.
                     Debug::text('NOT Deleting : ' . $id, __FILE__, __LINE__, __METHOD__, 10);
                     $tmp_ids[] = $id;
                 }
             }
             unset($id, $obj);
         }
         foreach ($ids as $id) {
             if (isset($ids) and !in_array($id, $tmp_ids)) {
                 $cgmf = new CompanyGenericMapFactory();
                 $cgmf->setCompany($company_id);
                 $cgmf->setObjectType($object_type_id);
                 $cgmf->setObjectID($object_id);
                 $cgmf->setMapId($id);
                 $cgmf->Save();
             }
         }
         return TRUE;
     }
     Debug::text('No objects to map.', __FILE__, __LINE__, __METHOD__, 10);
     return FALSE;
 }