code: def _from_binary_idx_root(cls, binary_stream):
      
      ''' Attribute type - 4
          Collation rule - 4
          Bytes per index record - 4
          Clusters per index record - 1
          Padding - 3
      '''
      attr_type, collation_rule, b_per_idx_r, c_per_idx_r = cls._REPR.unpack(binary_stream[:cls._REPR.size])
      node_header = IndexNodeHeader.create_from_binary(binary_stream[cls._REPR.size:])
      attr_type = AttrTypes(attr_type) if attr_type else None
      index_entry_list = []
  
      offset = cls._REPR.size + node_header.start_offset
      #loads all index entries related to the root node
      while True:
          entry = IndexEntry.create_from_binary(binary_stream[offset:], attr_type)
          index_entry_list.append(entry)
          if entry.flags & IndexEntryFlags.LAST_ENTRY:
              break
          else:
              offset += len(entry)
  
      nw_obj = cls((attr_type, CollationRule(collation_rule), b_per_idx_r,
                      c_per_idx_r, node_header, index_entry_list ))
  
      _MOD_LOGGER.debug("Attempted to unpack INDEX_ROOT Entry from \"%s\"\nResult: %s", binary_stream.tobytes(), nw_obj)
  
      return nw_obj
docs: See base class.