    # File lib/gettext/tools/pomessage.rb, line 160
        def self.new_from_ary(ary)
          ary = ary.dup
          msgid = ary.shift
          sources = ary
          type = :normal
          msgctxt = nil
          msgid_plural = nil

          if msgid.include? "\004"
            msgctxt, msgid = msgid.split(/\004/)
            type = :msgctxt
          end
          if msgid.include? "\000"
            ids = msgid.split(/\000/)
            msgid = ids[0]
            msgid_plural = ids[1]
            if type == :msgctxt
              type = :msgctxt_plural
            else
              type = :plural
            end
          end
          ret = self.new(type)
          ret.msgid = msgid
          ret.sources = sources
          ret.msgctxt = msgctxt
          ret.msgid_plural = msgid_plural
          ret
        end