/**
  * computes changes of records and writes them to the logbook
  * 
  * NOTE: expects last_modified_by and last_modified_time to be set
  * properly in the $_newRecord
  * 
  * @param  Tinebase_Record_Interface $_newRecord record from user data
  * @param  Tinebase_Record_Interface $_curRecord record from storage
  * @param  string $_model
  * @param  string $_backend
  * @param  string $_id
  * @return Tinebase_Record_RecordSet RecordSet of Tinebase_Model_ModificationLog
  */
 public function writeModLog($_newRecord, $_curRecord, $_model, $_backend, $_id)
 {
     $commonModLog = $this->_getCommonModlog($_model, $_backend, array('last_modified_time' => $_newRecord->last_modified_time, 'last_modified_by' => $_newRecord->last_modified_by, 'seq' => $_newRecord->has('seq') ? $_newRecord->seq : 0), $_id);
     $diffs = $_curRecord->diff($_newRecord)->diff;
     if (!empty($diffs) && Tinebase_Core::isLogLevel(Zend_Log::TRACE)) {
         Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' Diffs: ' . print_r($diffs, TRUE));
     }
     if (!empty($diffs) && Tinebase_Core::isLogLevel(Zend_Log::TRACE)) {
         Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' CurRecord: ' . print_r($_curRecord->toArray(), TRUE));
     }
     if (!empty($diffs) && Tinebase_Core::isLogLevel(Zend_Log::TRACE)) {
         Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' NewRecord: ' . print_r($_newRecord->toArray(), TRUE));
     }
     if (!empty($commonModLog) && Tinebase_Core::isLogLevel(Zend_Log::TRACE)) {
         Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' Common modlog: ' . print_r($commonModLog->toArray(), TRUE));
     }
     $modifications = new Tinebase_Record_RecordSet('Tinebase_Model_ModificationLog');
     $this->_loopModifications($diffs, $commonModLog, $modifications, $_curRecord->toArray(), $_curRecord->getModlogOmitFields());
     if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) {
         Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' Logged ' . count($modifications) . ' modifications.');
     }
     return $modifications;
 }