See base class.

def _from_binary_sid(cls, binary_stream):
    """See base class."""
    ''' Revision number - 1
        Number of sub authorities - 1
        Authority - 6
        Array of 32 bits with sub authorities - 4 * number of sub authorities
    '''
    rev_number, sub_auth_len, auth = cls._REPR.unpack(binary_stream[:cls._REPR.size])
    if sub_auth_len:
        sub_auth_repr = struct.Struct("<" + str(sub_auth_len) + "I")
        sub_auth = sub_auth_repr.unpack(binary_stream[cls._REPR.size:cls._REPR.size + sub_auth_repr.size])
    else:
        sub_auth = ()

    nw_obj = cls((rev_number, int.from_bytes(auth, byteorder="big"), sub_auth))

    _MOD_LOGGER.debug("Attempted to unpack SID from \"%s\"\nResult: %s", binary_stream.tobytes(), nw_obj)

    return nw_obj