# File lib/uuidtools.rb, line 178
    def self.parse_raw(raw_string)
      unless raw_string.kind_of? String
        raise TypeError,
          "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