/**
  * fetches attachments for multiple records at once
  * 
  * @param Tinebase_Record_RecordSet $records
  * 
  * @todo maybe this should be improved
  */
 public function getMultipleAttachmentsOfRecords($records)
 {
     if ($records instanceof Tinebase_Record_Abstract) {
         $records = new Tinebase_Record_RecordSet(get_class($records), array($records));
     }
     if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) {
         Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' Fetching attachments for ' . count($records) . ' record(s)');
     }
     $parentNodes = new Tinebase_Record_RecordSet('Tinebase_Model_Tree_Node');
     $recordNodeMapping = array();
     $typeMap = array();
     foreach ($records as $record) {
         $typeMap[get_class($record)][] = $record->getId();
         $record->attachments = new Tinebase_Record_RecordSet('Tinebase_Model_Tree_Node');
     }
     foreach ($typeMap as $className => $recordIds) {
         $classPathName = $this->_fsController->getApplicationBasePath($record->getApplication(), Tinebase_FileSystem::FOLDER_TYPE_RECORDS) . '/' . $className;
         // top folder for record attachments
         try {
             $classPathNode = $this->_fsController->stat($classPathName);
         } catch (Tinebase_Exception_NotFound $tenf) {
             continue;
         }
         // subfolders for all records attachments
         $searchFilter = new Tinebase_Model_Tree_Node_Filter(array(array('field' => 'parent_id', 'operator' => 'equals', 'value' => $classPathNode->getId()), array('field' => 'name', 'operator' => 'in', 'value' => $recordIds)));
         $recordNodes = $this->_fsController->searchNodes($searchFilter);
         if ($recordNodes->count() === 0) {
             // nothing to be done
             continue;
         }
         foreach ($recordNodes as $recordNode) {
             $recordNodeMapping[$recordNode->getId()] = $recordNode->name;
         }
         // get attachments
         $attachmentNodes = $this->_fsController->getTreeNodeChildren($recordNodes);
         // add attachments to records
         foreach ($attachmentNodes as $attachmentNode) {
             $record = $records->getById($recordNodeMapping[$attachmentNode->parent_id]);
             $record->attachments->addRecord($attachmentNode);
         }
     }
 }