# File lib/uuidtools.rb, line 195
  def self.parse_raw(raw_string)
    unless raw_string.kind_of? String
      raise ArgumentError,
        "Expected String, got #{raw_string.class.name} instead."
    end
    integer = self.convert_byte_string_to_int(raw_string)

    time_low = (integer >> 96) & 0xFFFFFFFF
    time_mid = (integer >> 80) & 0xFFFF
    time_hi_and_version = (integer >> 64) & 0xFFFF
    clock_seq_hi_and_reserved = (integer >> 56) & 0xFF
    clock_seq_low = (integer >> 48) & 0xFF
    nodes = []
    for i in 0..5
      nodes << ((integer >> (40 - (i * 8))) & 0xFF)
    end
    return self.new(time_low, time_mid, time_hi_and_version,
      clock_seq_hi_and_reserved, clock_seq_low, nodes)
  end