/**
  * @task mail
  */
 protected function addHeadersAndCommentsToMailBody(PhabricatorMetaMTAMailBody $body, array $xactions, $object_label = null, $object_href = null)
 {
     $headers = array();
     $headers_html = array();
     $comments = array();
     $details = array();
     foreach ($xactions as $xaction) {
         if ($xaction->shouldHideForMail($xactions)) {
             continue;
         }
         $header = $xaction->getTitleForMail();
         if ($header !== null) {
             $headers[] = $header;
         }
         $header_html = $xaction->getTitleForHTMLMail();
         if ($header_html !== null) {
             $headers_html[] = $header_html;
         }
         $comment = $xaction->getBodyForMail();
         if ($comment !== null) {
             $comments[] = $comment;
         }
         if ($xaction->hasChangeDetailsForMail()) {
             $details[] = $xaction;
         }
     }
     $headers_text = implode("\n", $headers);
     $body->addRawPlaintextSection($headers_text);
     $headers_html = phutil_implode_html(phutil_tag('br'), $headers_html);
     $header_button = null;
     if ($object_label !== null) {
         $button_style = array('text-decoration: none;', 'padding: 4px 8px;', 'margin: 0 8px 8px;', 'float: right;', 'color: #464C5C;', 'font-weight: bold;', 'border-radius: 3px;', 'background-color: #F7F7F9;', 'background-image: linear-gradient(to bottom,#fff,#f1f0f1);', 'display: inline-block;', 'border: 1px solid rgba(71,87,120,.2);');
         $header_button = phutil_tag('a', array('style' => implode(' ', $button_style), 'href' => $object_href), $object_label);
     }
     $xactions_style = array();
     $header_action = phutil_tag('td', array(), $header_button);
     $header_action = phutil_tag('td', array('style' => implode(' ', $xactions_style)), array($headers_html, "\n"));
     $headers_html = phutil_tag('table', array(), phutil_tag('tr', array(), array($header_action, $header_button)));
     $body->addRawHTMLSection($headers_html);
     foreach ($comments as $comment) {
         $body->addRemarkupSection(null, $comment);
     }
     foreach ($details as $xaction) {
         $details = $xaction->renderChangeDetailsForMail($body->getViewer());
         if ($details !== null) {
             $label = $this->getMailDiffSectionHeader($xaction);
             $body->addHTMLSection($label, $details);
         }
     }
 }