protected function buildMessage()
    {
        if (empty($this->plainMessage) && empty($this->htmlMessage)) {
            return '';
        }
        if (!empty($this->plainMessage) && empty($this->htmlMessage)) {
            return $this->plainMessage;
        }
        if (empty($this->plainMessage) && !empty($this->htmlMessage)) {
            return $this->htmlMessage;
        }

        $message = array();
        array_push($message, "--{$this->boundaryAlternative}");
        $message = array_merge($message, $this->buildPlainMessageHeader());
        array_push($message, $this->plainMessage);
        array_push($message, "--{$this->boundaryAlternative}");
        $message = array_merge($message, $this->buildHtmlMessageHeader());
        array_push($message, $this->htmlMessage);
        array_push($message, "--{$this->boundaryAlternative}--");

        return implode(self::LINE_BREAK, $message);
    }