# File lib/gettext/tools/pomessage.rb, line 69
    def merge(other)
      return self unless other
      raise ParseError, "Translation targets do not match: \n" \
      "  self: #{self.inspect}\n  other: '#{other.inspect}'" unless self == other
      if other.msgid_plural && !self.msgid_plural
        res = other
        unless (res.sources.include? self.sources[0])
          res.sources += self.sources
          res.add_comment(self.comment)
        end
      else
        res = self
        unless (res.sources.include? other.sources[0])
          res.sources += other.sources
          res.add_comment(other.comment)
        end
      end
      res
    end