docs: def create_from_binary(cls, load_dataruns, binary_view):
          '''Creates a new object NonResidentAttrHeader from a binary stream. The binary
          stream can be represented by a byte string, bytearray or a memoryview of the
          bytearray.
  
          Args:
              load_dataruns (bool) - Indicates if the dataruns are to be loaded
              binary_view (memoryview of bytearray) - A binary stream with the
                  information of the attribute
              non_resident_offset (int) - The offset where the non resident header
                  begins
  
          Returns:
              NonResidentAttrHeader: New object using hte binary stream as source
          '''
          attr_type, attr_len, non_resident, name_len, name_offset, flags, attr_id, \
              start_vcn, end_vcn, rl_offset, compress_usize, alloc_sstream, curr_sstream, \
              init_sstream = cls._REPR.unpack(binary_view[:cls._REPR.size])
  
          if name_len:
              name = binary_view[name_offset:name_offset+(2*name_len)].tobytes().decode("utf_16_le")
          else:
              name = None
  
          #content = cls._REPR.unpack(binary_view[non_resident_offset:non_resident_offset+cls._REPR.size])
          nw_obj = cls((AttrTypes(attr_type), attr_len, bool(non_resident), AttrFlags(flags), attr_id, name),
              (start_vcn, end_vcn, rl_offset, compress_usize, alloc_sstream, curr_sstream, init_sstream))
  
          if load_dataruns:
              nw_obj.data_runs = DataRuns.create_from_binary(binary_view[nw_obj.rl_offset:])
          _MOD_LOGGER.debug("NonResidentAttrHeader object created successfully")
  
          return nw_obj