/**
  * Initializes the data from the incoming info.
  * @param array $info       incoming data.
  * @param bool  $attached   Indicates whether the object was attached successfully.
  * @param EE_Message $message
  * @return array
  */
 protected function _init_data($info, $attached, $message)
 {
     $data = array('test_send' => false, 'preview' => false, 'data_handler_class_name' => '', 'data' => array('MSG_generation_data' => array()));
     if (isset($info['preview'])) {
         $data['preview'] = $info['preview'];
         unset($info['preview']);
     }
     if (isset($info['test_send'])) {
         $data['test_send'] = $info['test_send'];
         unset($info['test_send']);
     }
     if (isset($info['data_handler_class_name'])) {
         $data['data_handler_class_name'] = $info['data_handler_class_name'];
         unset($info['data_handler_class_name']);
     }
     if ($attached && $message->STS_ID() === EEM_Message::status_incomplete) {
         $generation_data = isset($info['MSG_generation_data']) ? $info['MSG_generation_data'] : array();
         //if data isn't in $info...let's see if its available via the message object
         $generation_data = !$generation_data ? $message->get_generation_data() : $generation_data;
         //still empty then let's just use info
         $generation_data = !$generation_data ? $info : $generation_data;
         $data['data']['MSG_generation_data'] = $generation_data;
     }
     return $data;
 }