new (UUID)

    # File lib/uuidtools.rb, line 116
      def initialize(time_low, time_mid, time_hi_and_version,
          clock_seq_hi_and_reserved, clock_seq_low, nodes)
        unless time_low >= 0 && time_low < 4294967296
          raise ArgumentError,
            "Expected unsigned 32-bit number for time_low, got #{time_low}."
        end
        unless time_mid >= 0 && time_mid < 65536
          raise ArgumentError,
            "Expected unsigned 16-bit number for time_mid, got #{time_mid}."
        end
        unless time_hi_and_version >= 0 && time_hi_and_version < 65536
          raise ArgumentError,
            "Expected unsigned 16-bit number for time_hi_and_version, " +
            "got #{time_hi_and_version}."
        end
        unless clock_seq_hi_and_reserved >= 0 && clock_seq_hi_and_reserved < 256
          raise ArgumentError,
            "Expected unsigned 8-bit number for clock_seq_hi_and_reserved, " +
            "got #{clock_seq_hi_and_reserved}."
        end
        unless clock_seq_low >= 0 && clock_seq_low < 256
          raise ArgumentError,
            "Expected unsigned 8-bit number for clock_seq_low, " +
            "got #{clock_seq_low}."
        end
        unless nodes.respond_to? :size
          raise ArgumentError,
            "Expected nodes to respond to :size."
        end
        unless nodes.size == 6
          raise ArgumentError,
            "Expected nodes to have size of 6."
        end
        for node in nodes
          unless node >= 0 && node < 256
            raise ArgumentError,
              "Expected unsigned 8-bit number for each node, " +
              "got #{node}."
          end
        end
        @time_low = time_low
        @time_mid = time_mid
        @time_hi_and_version = time_hi_and_version
        @clock_seq_hi_and_reserved = clock_seq_hi_and_reserved
        @clock_seq_low = clock_seq_low
        @nodes = nodes
      end