/**
  * Import pending email as discussion
  *
  * @param IncomingMail $incoming_mail
  * @param Project $project
  * @param User $user
  * @return Discussion
  */
 function importPendingEmailAsDiscussion(&$incoming_mail, &$project, &$user)
 {
     $discussion = new Discussion();
     $discussion->setProjectId($project->getId());
     $discussion->setCreatedBy($user);
     $discussion->setCreatedOn($incoming_mail->getCreatedOn());
     $discussion->setVisibility(VISIBILITY_NORMAL);
     $discussion->setState(STATE_VISIBLE);
     $discussion->setSource(OBJECT_SOURCE_EMAIL);
     $discussion->setName($incoming_mail->getSubject());
     $discussion->setBody($incoming_mail->getBody());
     IncomingMailImporter::attachFilesToProjectObject($incoming_mail, $discussion);
     $save = $discussion->save();
     if ($save && !is_error($save)) {
         $subscibed_users = array($project->getLeaderId());
         if (instance_of($user, 'User')) {
             $subscibed_users[] = $user->getId();
         }
         // if
         Subscriptions::subscribeUsers($subscibed_users, $discussion);
         $discussion->ready();
         return $discussion;
     }
     // if
     return $save;
 }