public function generateTransaction(PhabricatorApplicationTransaction $template, array $spec)
 {
     $comment = $template->getApplicationTransactionCommentObject()->setContent(idx($spec, 'value'));
     $template->setTransactionType($this->getTransactionType())->attachComment($comment);
     foreach ($this->getMetadata() as $key => $value) {
         $template->setMetadataValue($key, $value);
     }
     return $template;
 }
 public function generateTransactions(PhabricatorApplicationTransaction $template, array $spec)
 {
     $comment = $template->getApplicationTransactionCommentObject()->setContent(idx($spec, 'value'));
     $xaction = $this->newTransaction($template)->attachComment($comment);
     return array($xaction);
 }