docs: def _from_binary_reparse(cls, binary_stream):
      """See base class."""
      ''' Reparse type flags - 4
              Reparse tag - 4 bits
              Reserved - 12 bits
              Reparse type - 2 bits
          Reparse data length - 2
          Padding - 2
      '''
      #content = cls._REPR.unpack(binary_view[:cls._REPR.size])
      reparse_tag, data_len = cls._REPR.unpack(binary_stream[:cls._REPR.size])
  
      #reparse_tag (type, flags) data_len, guid, data
      reparse_type = ReparseType(reparse_tag & 0x0000FFFF)
      reparse_flags = ReparseFlags((reparse_tag & 0xF0000000) >> 28)
      guid = None #guid exists only in third party reparse points
      if reparse_flags & ReparseFlags.IS_MICROSOFT:#a microsoft tag
          if reparse_type is ReparseType.SYMLINK:
              data = SymbolicLink.create_from_binary(binary_stream[cls._REPR.size:])
          elif reparse_type is ReparseType.MOUNT_POINT:
              data = JunctionOrMount.create_from_binary(binary_stream[cls._REPR.size:])
          else:
              data = binary_stream[cls._REPR.size:].tobytes()
      else:
          guid = UUID(bytes_le=binary_stream[cls._REPR.size:cls._REPR.size+16].tobytes())
          data = binary_stream[cls._REPR.size+16:].tobytes()
  
      nw_obj = cls((reparse_type, reparse_flags, data_len, guid, data))
  
      _MOD_LOGGER.debug("Attempted to unpack REPARSE_POINT from \"%s\"\nResult: %s", binary_stream.tobytes(), nw_obj)
  
      return nw_obj