/**
  * This returns the data_handler class name for the internal message type set.
  * Note: this also verifies that the data handler class exists.  If it doesn't then $_valid is set to false
  * and the data_handler_class name is set to an empty string.
  *
  * @param   bool    $preview    Used to indicate that the preview data handler is to be returned.
  * @return  string
  */
 public function get_data_handler_class_name($preview = false)
 {
     if ($this->_data_handler_class_name === '' && $this->valid()) {
         $ref = $preview ? 'Preview' : $this->_message_type->get_data_handler($this->_data);
         //make sure internal data is updated.
         $this->_data = $this->_message_type->get_data();
         //verify
         $this->_data_handler_class_name = EE_Message_To_Generate::verify_and_retrieve_class_name_for_data_handler_reference($ref);
         if ($this->_data_handler_class_name === '') {
             $this->_valid = false;
         }
     }
     return $this->_data_handler_class_name;
 }