'Separate any ``!important`` marker at the end of a property value.
:param tokens:
A list of tokens for the property value.
:returns:
A tuple of the actual property value (a list of tokens)
and the :attr:`~Declaration.priority`.'

def parse_value_priority(self, tokens):

    value = list(tokens)
    token = value.pop()
    if ((token.type == u'IDENT') and (token.value.lower() == u'important')):
        while value:
            token = value.pop()
            if ((token.type == u'DELIM') and (token.value == u'!')):
                while (value and (value[(-1)].type == u'S')):
                    value.pop()
                if (not value):
                    raise ParseError(token, u'expected    a    value    before    !important')
                return (value, u'important')
            elif (token.type != u'S'):
                break
    return (tokens, None)
