# File lib/dnsruby/name.rb, line 44
    def self.create(arg)
      case arg
      when Name
        return Name.new(arg.labels, arg.absolute?)
      when String
        #         arg.gsub!(/\.$/o, "")
        if (arg==".")
          return Name.new([],true)
        end
        if (arg=="")
          return Name.new([],false)
        end
        arg = punycode(arg)
        return Name.new(split_escaped(arg), /\.\z/ =~ arg ? true : false)
        #         return Name.new(Label.split(arg), /\.\z/ =~ arg ? true : false)
      when Array
        return Name.new(arg, /\.\z/ =~ (arg.last ? ((arg.last.kind_of?String)?arg.last : arg.last.string) : arg.last) ? true : false)
      else
        raise ArgumentError.new("cannot interpret as DNS name: #{arg.inspect}")
      end
    end