public function fileWritten(FileEvent $e)
 {
     $file = $e->getSource();
     $meta = null;
     $activity = null;
     $by = null;
     self::initContext($file, $meta, $activity, $by);
     // On virtual files, creating a file by adding content consist in 2 different operations and
     // therefore may create 2 different activities, so we avoid that by the following condition
     // checking that the creation of the file has been performed more than 5 seconds ago.
     $lastActivity = end($activity);
     if (is_array($lastActivity) && $lastActivity['type'] == 'creation' && $e->getTimeStamp() - $lastActivity['time'] < 5) {
         return;
     }
     $activity[] = array('type' => 'edition', 'by' => $by->getId(), 'time' => $e->getTimeStamp());
     $meta->set('activity', $activity);
     $meta->set(EyeosAbstractVirtualFile::METADATA_KEY_MODIFICATIONTIME, $e->getTimeStamp());
     $file->setMeta($meta);
 }