# File lib/Dnsruby/name.rb, line 43
    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
        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